-- ****************************************************************************
-- CISCO-WIRELESS-IF-MIB.my:  Cisco Wireless Radio Point to Point MIB.

-- January 2000, Joseph L Raja

-- Copyright (c) 1998-2005 by Cisco Systems, Inc.
-- All rights reserved.

-- ****************************************************************************

-- ****************************************************************************




CISCO-WIRELESS-IF-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Counter32,
    Integer32,
    Gauge32,
    Counter64,
    NOTIFICATION-TYPE,
    Unsigned32
        FROM SNMPv2-SMI
    DisplayString,
    RowStatus,
    TruthValue,
    TimeInterval
        FROM SNMPv2-TC
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    ifIndex
        FROM IF-MIB
    OwnerString
        FROM RMON-MIB
    CwrRFZeroIndex,
    CwrCwErrorFreeSecond,
    CwrCwErroredSecond,
    CwrCwSeverelyErroredSecond,
    CwrCwConsecutiveSevErrSecond,
    CwrCwDegradedSecond,
    CwrCwDegradedMinute,
    CwrCollectionAction,
    CwrCollectionStatus,
    CwrThreshLimitType,
    CwrRadioSignalAttribute,
    CwrOscState,
    WirelessGauge64
        FROM CISCO-WIRELESS-TC-MIB
    ciscoMgmt
        FROM CISCO-SMI;

ciscoWirelessIfMIB MODULE-IDENTITY
    LAST-UPDATED    "200601041003Z"
    ORGANIZATION    "Cisco Systems Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: 170 W Tasman Drive
               San Jose, CA  95134
               USA

               Tel: +1 800 553-NETS
                   E-mail: wireless-nms@cisco.com"
    DESCRIPTION
            "This is the MIB Module for the Cisco Wireless Radio
            Point to Point interface specification.

    I) Relationship of the Cisco Wireless Radio IF MIB to Interfaces MIB:
    
    One instance of the ifEntry exists for each wireless interface.
    The ifType of each such interface will be propWirelessP2P(157).

    If (at least) one IP address is active on an interface with this
    ifType without the use of any intervening (multiplexing) sub-layer,
    then it will appear in exactly two ifStackTable entries: i.e.,
    for an ifType=propWirelessP2P(157) interface with ifIndex 'x', the
    ifStackTable will contain:

    ifStackStatus.0.x=active
    ifStackStatus.x.0=active

    The ifTestTable and ifRcvAddressTable are  not supported by this ifType.

    II) ifEntry for the Wireless MAC Layer:

    The ifEntry for the wireless MAC Layer supports the following groups in
    the Interfaces MIB :
    a. ifGeneralInformationGroup
    b. ifHCPacketGroup

    For all those objects where the behavior is as defined in the Interfaces
    MIB, refer to Interfaces MIB for description.
    Special conditions or exceptions are explicitly documented here.

    IfTable Attribute        Comments
    =================        ===============================================


    ifType,                 The IANA value of propWirelessP2P(157).

    ifMtu,                  Return 1500.

    ifSpeed,                Current configured bandwidth.  It can be
                            1.5Mbits/sec to 12Mbits/sec.

    ifPhysAddress,          Return 0 length octet string.

    ifAdminStatus,          The administrative status of this interface.

    ifOperStatus,           The current operational status of the 
                            wireless MAC layer interface.

    ifLastChange,           Refer to the Interfaces MIB.

    ifInMulticastPkts,      Returns 0.

    ifInBroadcastPkts,      Returns 0.

    ifOutMulticastPkts,     Returns 0.

    ifOutBroadcastPkts,     Returns 0.

    ifHCInMulticastPkts,    Not supported.

    ifHCInBroadcastPkts,    Not supported.

    ifHCOutMulticastPkts,   Not supported.

    ifHCOutBroadcastPkts,   Not supported.

    Glossary

    The following terms are used in the MIB definitions below.

    Radio Interface: The interface that provides the wireless 
                     communication features.
    Radio Link:      The bi-directional wireless link that exists between two
                     communicating radio.
    Radio PHY:       Represents the transmission characteristics of the Radio
                     Link.
    RF Unit:         The Radio Frequency components and the associated 
                     antennas.
    ARQ:             Automatic Repeat Query.


    Cisco Wireless MIB Organization

    The Cisco Wireless Radio IF MIB provides the following management groups :

    o.  Radio Base Group
    This group contains common information about a radio
    interface . It provides facilities to configure
    attributes such as self-test, acquisition mode, etc.
    It includes configuration information used to set up
    a radio link.

    o.  Radio PHY Quality Group
    This group provides facilities to control/tune the
    transmission and reception quality of the Radio Link.
    The quality of the Radio Link is measured using the
    metrics defined in radio Radio Link metrics group.

    o.  Radio Frequency Resource Group
    This contains information about the Radio frequency
    transmission and reception resources available on the
    system. This group determines the portions of the
    radio spectrum at which the radio subsystem can
    operate.
    This group in conjunction with the radio PHY group
    determine the acutal spectrum that gets used for
    communications.


    o.  Radio Link Metrics Group
    This group contains metrics to measure the quality of
    radio Link. This includes metrics such as total
    received codeword errors, resync count, errored
    seconds etc.

    o.  Radio Signal Group
    This group contains information about the radio
    signal(s) that were received or attributes of the radio
    signals computed from received signals.
    This group models the real-time data that is collected.

    The key characteristics are:
    1. The amount of information captured in these parameters
    is large and cannot be modeled as single values.

    2. They represent real-time information, which cannot be
    polled for as well.

    3. Hardware captures this information.

    All the radio signal characteristics are modeled in
    three ways:
    1. Histogram
    2. Timelines
    3. Snapshots

    For management purposes radio signal characteristics
    are made accessible via:
    1. History Group
    2. Timeline Group
    3. Snapshot Group
    These groups are described below.

    o.  History Group
    This group contains information about the radio system
    characteristics which are inherently modeled as
    historgrams.
    Certain characteristics of the radio system may be
    captured as histograms by the hardware.
    The user may configure these histograms as needed.

    It exists for the following reasons:

    1. The amount of information contained in these
    parameters is large and cannot be modeled as single
    values.

    2. They represent real-time information, which cannot be
    polled for as well.

    3. Key signal processing information cannot be captured
    by normal SNMP (say 1 sec poll interval) monitoring.

    4. Hardware captures this information as histograms.

    5. In wireless environments this is key information that
    can be captured for fault and performance management.

    o.  Timeline Group
    This group contains information about how raw radio
    signal characteristics that may be captured.
    Timelines are normally associated with a threshold
    defined in the threshold group.

    o.  Threshold Group    
    This provides provides facilities to define thresholds
    on the raw signal attributes that are processed by the
    hardware. Normally thresholds are used in conjunction
    with Timelines to capture specific radio signal
    behavior.

    o.  Snapshot Group   
    This group provides facilities that may be
    used to capture multiple radio signal attributes
    keyed to a single user initiated trigger. Simultaneous
    capture of multiple real-time attributes keyed to
    a single trigger provides indepth information about
    the behavior of the system.

    o.  Test Group    
    This provides facilities to establish loopback at
    various points in the hardware for diagnostic
    purposes.

    o.  Antenna Group    
    This group provides information about the antenna
    resources installed and available for use.

    o.  Trap Group    
    It provides the list of traps that the wireless system
    will generate."

    REVISION        "200601041003Z"
    DESCRIPTION
            "Imported Unsigned32 from SNMPv2-SMI."
    REVISION        "200002211500Z"
    DESCRIPTION
            "The initial version of this MIB module."
    ::= { ciscoMgmt 136 }

-- The Cisco Wireless Radio MIB Tree
cwrRadioMibObjects OBJECT IDENTIFIER
    ::= { ciscoWirelessIfMIB 1 }

cwrRadioNotification OBJECT IDENTIFIER
    ::= { ciscoWirelessIfMIB 2 }

cwrRadioInternal OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 1 }

cwrRadioCommon OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 2 }

cwrRadioBaseGroup OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 3 }

cwrRadioPhyQualityGroup OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 4 }

cwrRadioFreqResGroup OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 5 }

cwrRadioMetricsGroup OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 6 }

cwrRadioHistoryGroup OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 7 }

cwrRadioTimelineGroup OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 8 }

cwrRadioSnapshotGroup OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 9 }

cwrRadioAntennaGroup OBJECT IDENTIFIER
    ::= { cwrRadioMibObjects 10 }

cwrRadioLatestTrap OBJECT IDENTIFIER
    ::= { cwrRadioNotification 1 }

cwrRadioDevTraps OBJECT IDENTIFIER
    ::= { cwrRadioNotification 2 }

cwrRadioThreshTraps OBJECT IDENTIFIER
    ::= { cwrRadioNotification 3 }

-- Radio Indices.
cwrRadioNextIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object should be used to generate unique indices when 
            creating rows in the cwrRadioHistoryGroup, cwrRadioTimelineGroup, 
            and the cwrRadioSnapshotGroup. Every GET request will 
            generate a new index.
            The index will not be unique across power cycles of the router."
    ::= { cwrRadioCommon 1 }

-- The Radio Base Group

-- The RadioBaseTable represents the set of radio communication interfaces
-- and their configuration available on this system.
-- It contains information that is common to the radio interface.
cwrRadioBaseTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrRadioBaseEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains information about the radio common to both 
            the transmit and receive sides."
    ::= { cwrRadioBaseGroup 1 }

cwrRadioBaseEntry OBJECT-TYPE
    SYNTAX          CwrRadioBaseEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "There exists one such entry for every interface in the 
            ifTable which has an ifType of propWirelessP2P(157).

            Each of these entries are indexed by the value of ifIndex as 
            defined in RFC2863."
    INDEX           { ifIndex }
    ::= { cwrRadioBaseTable 1 }

CwrRadioBaseEntry ::= SEQUENCE {
    cwrAcquisitionMode     INTEGER,
    cwrSelfTest            INTEGER,
    cwrBasePrivacySupport  TruthValue,
    cwrTxRfIndex           CwrRFZeroIndex,
    cwrRx1RfIndex          CwrRFZeroIndex,
    cwrRx2RfIndex          CwrRFZeroIndex,
    cwrClockRefExt         TruthValue,
    cwrAntAlignment        TruthValue
}

cwrAcquisitionMode OBJECT-TYPE
    SYNTAX          INTEGER {
                        master(1),
                        slave(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies whether the radio should act as the
            master or as the slave. The slave radio tracks the 
            master's frequency."
    ::= { cwrRadioBaseEntry 2 }

cwrSelfTest OBJECT-TYPE
    SYNTAX          INTEGER {
                        off(1),
                        once(2),
                        always(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the whether self test should be
            executed and if so whether to do it every time the radio link is
            started. Any changes made to this object will reflected the 
            next time the radio link is started.

            off(1) - Self test never performed.
            once(2) - Self test will be performed the next time the 
                      radio link is started.
            always(3) - Every time the radio link is started."
    ::= { cwrRadioBaseEntry 3 }

cwrBasePrivacySupport OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object specifies whether the Baseline Privacy feature is
            available for use on this radio interface. If true then privacy is
            supported."
    ::= { cwrRadioBaseEntry 4 }

cwrTxRfIndex OBJECT-TYPE
    SYNTAX          CwrRFZeroIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object specifies the index into the cwrRfTable identifying 
            the antenna used for transmission. This index will be 0 if the 
            associated transmit antenna is not present."
    ::= { cwrRadioBaseEntry 5 }

cwrRx1RfIndex OBJECT-TYPE
    SYNTAX          CwrRFZeroIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object specifies the index of the first receive antenna 
            identified by the cwrRfTable. This index will be 0 if the 
            associated receive antenna is not present."
    ::= { cwrRadioBaseEntry 6 }

cwrRx2RfIndex OBJECT-TYPE
    SYNTAX          CwrRFZeroIndex
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object specifies the index of the second receive antenna 
            in the cwrRfTable. This index will be 0 if the associated receive
            antenna is not present."
    ::= { cwrRadioBaseEntry 7 }

cwrClockRefExt OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "When this object is set to true(1), the wireless radio uses a
            10MHz external reference clock."
    ::= { cwrRadioBaseEntry 8 }

cwrAntAlignment OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "For normal operation this should be set to false(2). If it set
            true(1), then the radio link is placed in antenna alignment mode.
            In this mode control signals are sent to the RF
            resource which enables the operator to monitor the signal
            received strength at the RF resource. This is mainly used
            for antenna steering i.e. positioning the antenna for the best
            possible signal reception.
            If set to true(1), the radio link's response to rapid changes
            in signal strength may potentially be affected."
    ::= { cwrRadioBaseEntry 9 }

-- The RadioPhyTable provides facilities to configure the physical
-- layer characteristics of the radio link.
cwrRadioPhyTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrRadioPhyEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains information about the currently configured
            physical layer.  These configuration paramters must match the 
                corresponding configuration parameter at the remote end for
                the wireless link to be established."
    ::= { cwrRadioBaseGroup 2 }

cwrRadioPhyEntry OBJECT-TYPE
    SYNTAX          CwrRadioPhyEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "There exists one such entry for every interface in the ifTable 
            which has an ifType of propWirelessP2P(157).

            Each of these entries are indexed by the value of ifIndex 
            as defined in RFC2863."
    INDEX           { ifIndex }
    ::= { cwrRadioPhyTable 1 }

CwrRadioPhyEntry ::= SEQUENCE {
    cwrNumRxAntenna        INTEGER,
    cwrBandwidth           INTEGER,
    cwrThroughput          INTEGER,
    cwrOperatingBand       INTEGER,
    cwrTxFrequency         INTEGER,
    cwrRxFrequency         INTEGER,
    cwrTxPower             INTEGER,
    cwrCableLoss           INTEGER,
    cwrOpStatus            INTEGER,
    cwrCableLossDiversity  INTEGER,
    cwrBurstSize           INTEGER
}

cwrNumRxAntenna OBJECT-TYPE
    SYNTAX          INTEGER (1..2)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the number of antennas to be used to receive
            the wireless transmissions."
    ::= { cwrRadioPhyEntry 1 }

cwrBandwidth OBJECT-TYPE
    SYNTAX          INTEGER (0..500000000)
    UNITS           "Hz"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the bandwidth to use.  Given bandwidth, the
            actual throughput of the radio link is determined by the 
            cwrThroughput setting."
    ::= { cwrRadioPhyEntry 2 }

cwrThroughput OBJECT-TYPE
    SYNTAX          INTEGER {
                        high(1),
                        medium(2),
                        low(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This represents an throughput expected of the identified radio 
            link. There are 3 possible settings. The settings provide a 
            tradeoff between bandwidth and the reliability of the 
            radio link. The settings are:
                high(1): For a high throughput. The radio hardware will be
                         configured such that it, favors throughput over 
                         error correction. It may not be able to correct 
                         all received errors.
                medium(2): This is a balance between high and low.
                low(3): The radio hardware is configured such that it 
                        trades off throughput for latency and error 
                        correction. It tries its very
                        best to correct errors it detects."
    ::= { cwrRadioPhyEntry 3 }

cwrOperatingBand OBJECT-TYPE
    SYNTAX          INTEGER {
                        bandUNII(1),
                        bandMMDS(2),
                        bandOther(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the portion of the frequency spectrum in 
             which the radio PHY will operate.
            bandUNII(1) - The U-NII (Unlicensed National Information 
                                      Infrastructure)
                           band represents the frequency range 5725.25 to 
                           5823.75 MHz.
            bandMMDS(2) - The MMDS (Multichannel Multipoint Distribution 
                                    Service)
                          band represents the frequency range 2150.75 to
                          2688.25 MHz.
            bandOther(3)- For all other frequenciy ranges."
    ::= { cwrRadioPhyEntry 4 }

cwrTxFrequency OBJECT-TYPE
    SYNTAX          INTEGER (0..6000000)
    UNITS           "10Khz"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the center frequency that will be used to
            transmit data over the radio PHY. The specified transmit 
            frequency must match the operating band and the capability 
            of the RF resource connected to the radio."
    ::= { cwrRadioPhyEntry 5 }

cwrRxFrequency OBJECT-TYPE
    SYNTAX          INTEGER (0..6000000)
    UNITS           "10Khz"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the center frequency that will be used to
            receive transmissions over the radio PHY. The specified receive
            frequency must match the operating band and the capability of the
            RF resource connected to the radio. The transmit frequency at
            the local end must be identical to the receive frequency at the 
            remote end for a wireless link to be established."
    ::= { cwrRadioPhyEntry 6 }

cwrTxPower OBJECT-TYPE
    SYNTAX          INTEGER (-80..50)
    UNITS           "dBm - decibel milliwatts"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the power that the antenna will transmit.
            The minimum average transmit power for the U-NII or MMDS band is
            0.01 microwatts (-80 dBm). Maximum average transmit power:
                For the MMDS band is 2 Watts i.e. (+33dBm). 
            For the U-NII band is 100 milliwatts i.e. (+20dBm).
                The power is specified in dBm."
    ::= { cwrRadioPhyEntry 7 }

cwrCableLoss OBJECT-TYPE
    SYNTAX          INTEGER (0..50)
    UNITS           "dB - decibel"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the measured loss in signal power in 
            dB that is imposed by the cable connecting the radio to the 
            antenna head.
            This value enables the hardware to compensate for the cable 
            loss by adjusting the gain appropriately.
            A value of 0 represents no degradation in signal due to the cable.
            This cable loss applies to the transmit antenna identified by
            cwrTxRfIndex."
    ::= { cwrRadioPhyEntry 8 }

cwrOpStatus OBJECT-TYPE
    SYNTAX          INTEGER {
                        notOperational(1),
                        selftest(2),
                        download(3),
                        txOnly(4),
                        acquiring(5),
                        receiveUp(6),
                        transmitUp(7),
                        linkOperational(8)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This represents the current state of a radio Link.

            notOperational(1): The link is not operational.
            selftest(2) : Power on self test in progress
            download(3): Image download is in progress.
            txOnly(4): The radio link will switch to this state if
                   the radio link is configured for transmit only.
            acquiring(5): Attempting to sync up with the far end transmitter.
            receiveUp(6):  The receive side of the radio link has successfully
                      sync'ed up with remote end.
            transmitUp(7): Transmit side of the radio link is up and running.
            linkOperational(8): The radio link is ready for duplex 
                                communication."
    ::= { cwrRadioPhyEntry 9 }

cwrCableLossDiversity OBJECT-TYPE
    SYNTAX          INTEGER (0..50)
    UNITS           "dB - decibel"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the measured loss in signal power 
            in dB that is imposed by the cable connecting the radio 
            to the antenna head.
            This value enables the hardware to compensate for the cable 
            loss by adjusting the gain appropriately.
            A value of 0 represents no degradation in signal due to the cable.
            This cable loss applies to the receive antenna identified by
            cwrRxRf2Index."
    ::= { cwrRadioPhyEntry 10 }

cwrBurstSize OBJECT-TYPE
    SYNTAX          INTEGER {
                        small(1),
                        medium(2),
                        large(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object defines the time duration of the data burst sent 
            over the air. The burst size is dependant on the capability of 
            the ODU which is represented by the cwrBurstSizeGroup variable 
            in the cwrRfTable.
            The user must set this object based on the value of 
            cwrBurstSizeGroup in the cwrRfTable.  

            The approximate time duration for each of the burst sizes are:
            small(1):  50 microseconds
            medium(2): 100 microseconds
            large(3):  200 microseconds"
    ::= { cwrRadioPhyEntry 11 }

-- The Radio PHY Quality Group

-- The PhyQualityTable provides facilities to control the quality of the
-- wireless link i.e. the physical link. The radio PHY layer must be
-- shutdown before any changes may be made to this table.
cwrPhyQualityTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrPhyQualityEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains information about the radio PHY quality 
            control parameters. Note that the parameters in this table are 
            automatically determined by the parameters configured in the 
            cwrRadioPhyTable. These parameters may further be used to tune 
            the characteristics when needed."
    ::= { cwrRadioPhyQualityGroup 1 }

cwrPhyQualityEntry OBJECT-TYPE
    SYNTAX          CwrPhyQualityEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "There exists one such entry for every interface in the ifTable 
            which has an ifType of propWirelessP2P(157).

            Each of these entries are indexed by the value of ifIndex as 
            defined in RFC2863."
    INDEX           { ifIndex }
    ::= { cwrPhyQualityTable 1 }

CwrPhyQualityEntry ::= SEQUENCE {
    cwrArqPctBw             INTEGER,
    cwrArqVoiceLatency      Integer32,
    cwrArqDataLatency       Integer32,
    cwrArqBurstSize         Integer32,
    cwrArqTypicalBitRate    Integer32,
    cwrArqMinBitRate        Integer32,
    cwrArqMaxLatencyJitter  Integer32,
    cwrArqReset             TruthValue,
    cwrArqOn                TruthValue
}

cwrArqPctBw OBJECT-TYPE
    SYNTAX          INTEGER (1..10000)
    UNITS           "0.01 percent"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the percentage of the total radio PHY 
            bandwidth available to the ARQ engine. Some or all of this 
            allocated bandwidth is used to when detected errors are 
            corrected. The percentage will be
            approximated to the closest value supported by the ARQ engine."
    ::= { cwrPhyQualityEntry 1 }

cwrArqVoiceLatency OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the latency value for voice data."
    ::= { cwrPhyQualityEntry 2 }

cwrArqDataLatency OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "milliseconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the expected latency values for data.
            Reducing the latency, provides the ARQ engine less time to correct
            codeword errors. So if latency is reduced sufficiently, the data
            throughput will get effected.
            Also note that the latency values on both ends of the link should
            be kept identical, else the data throughput will be effected."
    ::= { cwrPhyQualityEntry 3 }

cwrArqBurstSize OBJECT-TYPE
    SYNTAX          Integer32 (1..63)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the maximum number of consecutive ARQ 
            codewords that will be transmitted. ARQ codewords are 
            transmitted for error correction. When an ARQ codeword 
            is transmitted, a data codeword cannot be transmitted in 
            that time slot, resulting jitter on the received data stream.
            Lower the value of the burst size, lower the peak jitter values."
    ::= { cwrPhyQualityEntry 4 }

cwrArqTypicalBitRate OBJECT-TYPE
    SYNTAX          Integer32 (0..45000000)
    UNITS           "bits/sec"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object specifies the typical error free bit rate that 
            is possible on this link given the current configuration as 
            specified in the cwrRadioPhyTable. If the radio channel 
            is excessively noisy then the bit rate will be lower 
            than this value"
    ::= { cwrPhyQualityEntry 5 }

cwrArqMinBitRate OBJECT-TYPE
    SYNTAX          Integer32 (0..45000000)
    UNITS           "bits/sec"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object specifies the minimum error free bit rate 
            that is supported on this link given the current 
            configuration as specified in the
            cwrRadioPhyTable and the settings in this table."
    ::= { cwrPhyQualityEntry 6 }

cwrArqMaxLatencyJitter OBJECT-TYPE
    SYNTAX          Integer32 (1..22000)
    UNITS           "microseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object specifies the maximum latency jitter introduced 
            by the ARQ engine, based on the settings defined 
            in this table."
    ::= { cwrPhyQualityEntry 7 }

cwrArqReset OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object when set to true will force the PHY quality
            parameters to be reset from the cwrRadioPhyTable.
            Reading this object will always return false. This is useful
            when arbitrary changes to the ARQ parameters have to be reset
            to known consistent valid values."
    ::= { cwrPhyQualityEntry 8 }

cwrArqOn OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object when set to true will enable the Automatic Repeat 
            Query subsystem. Disabling the ARQ subsystem disables a major 
            error correction mechanism of the radio, due to which an 
            operating radio PHY may suffer large performance degradation."
    ::= { cwrPhyQualityEntry 9 }

-- The Corrected Byte Errors Table

-- This table provides information on the number of consecutive
-- byte errors detected and corrected by the ARQ engine.
-- The ARQ engine can correct up to 9 consecutive byte errors.
-- This table provides details on the byte error correction
-- distribution over time.
cwrPhyCorrectedBytesTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrPhyCorrectedBytesEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This provides information on the number of byte
            detected and corrected by the ARQ engine.
            The ARQ engine can correct up to 9 consecutive byte errors.
            This table keeps a count of the number of byte errors corrected
            over time.
            The values in this table are cumulated from link power up."
    ::= { cwrRadioPhyQualityGroup 2 }

cwrPhyCorrectedBytesEntry OBJECT-TYPE
    SYNTAX          CwrPhyCorrectedBytesEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "There exists one such entry for every interface in the ifTable 
            which has an ifType of propWirelessP2P(157).

            Each of these entries are indexed by the value of ifIndex as 
            defined in RFC2863."
    INDEX           { ifIndex }
    ::= { cwrPhyCorrectedBytesTable 1 }

CwrPhyCorrectedBytesEntry ::= SEQUENCE {
    cwrArq1ByteErrs     Counter64,
    cwrArq2ByteErrs     Counter64,
    cwrArq3ByteErrs     Counter64,
    cwrArq4ByteErrs     Counter64,
    cwrArq5ByteErrs     Counter64,
    cwrArq6ByteErrs     Counter64,
    cwrArq7ByteErrs     Counter64,
    cwrArq8ByteErrs     Counter64,
    cwrArq9ByteErrs     Counter64
}

cwrArq1ByteErrs OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the number of 1 byte errors that were 
            corrected since the the radio link reached linkOperational state."
    ::= { cwrPhyCorrectedBytesEntry 1 }

cwrArq2ByteErrs OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the number of consecutive 2 byte errors 
            that were corrected since the the radio link reached 
            linkOperational state."
    ::= { cwrPhyCorrectedBytesEntry 2 }

cwrArq3ByteErrs OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the number of consecutive 3 byte errors 
            that were corrected since the the radio link reached 
            linkOperational state."
    ::= { cwrPhyCorrectedBytesEntry 3 }

cwrArq4ByteErrs OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the number of consecutive 4 byte errors 
            that were corrected since the the radio link reached 
            linkOperational state."
    ::= { cwrPhyCorrectedBytesEntry 4 }

cwrArq5ByteErrs OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the number of consecutive 5 byte errors 
            that were corrected since the the radio link reached 
            linkOperational state."
    ::= { cwrPhyCorrectedBytesEntry 5 }

cwrArq6ByteErrs OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the number of consecutive 6 byte errors 
            that were corrected since the the radio link reached 
            linkOperational state."
    ::= { cwrPhyCorrectedBytesEntry 6 }

cwrArq7ByteErrs OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the number of consecutive 7 byte errors 
            that were corrected since the the radio link reached 
            linkOperational state."
    ::= { cwrPhyCorrectedBytesEntry 7 }

cwrArq8ByteErrs OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the number of consecutive 8 byte errors 
            that were corrected since the the radio link reached 
            linkOperational state."
    ::= { cwrPhyCorrectedBytesEntry 8 }

cwrArq9ByteErrs OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object identifies the number of consecutive 9 byte errors 
            that were corrected since the the radio link reached 
            linkOperational state."
    ::= { cwrPhyCorrectedBytesEntry 9 }

-- The Radio Frequency Resource Group.

-- The RF Table. This table contains information about the state of the
-- Radio frequency    resources being used by this radio link.
cwrRfTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrRfEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains information about the state of the 
            radio frequency resources used by the radio link."
    ::= { cwrRadioFreqResGroup 1 }

cwrRfEntry OBJECT-TYPE
    SYNTAX          CwrRfEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrRfTable. This table is largely
            a read only table which provides details on the state of radio
            frequency resources available on the system. 
            Physically each RF resource may be realized by one antenna
            and its associated control hardware. A single antenna and its 
            associated electronics may act as more than 1 RF resource.

            When an RF resource acts as both a transmit and receive resource, 
            the transmit and receive frequency ranges may overlap.

            It is indexed by the ifIndex and cwrRfIndex."
    INDEX           {
                        ifIndex,
                        cwrRfIndex
                    }
    ::= { cwrRfTable 1 }

CwrRfEntry ::= SEQUENCE {
    cwrRfIndex                 Integer32,
    cwrRfResIndex              Integer32,
    cwrRFOpMode                INTEGER,
    cwrTxFreqRangeMin          INTEGER,
    cwrTxFreqRangeMax          INTEGER,
    cwrRxFreqRangeMin          INTEGER,
    cwrRxFreqRangeMax          INTEGER,
    cwrMinTxPower              Integer32,
    cwrMaxTxPower              Integer32,
    cwrRfTxOscState            CwrOscState,
    cwrRfAntIndex              Integer32,
    cwrRfRxOscState            CwrOscState,
    cwrRfTemperature           Integer32,
    cwrRfSupplyVoltageState    INTEGER,
    cwrRfStatus                INTEGER,
    cwrRfControlChannelStatus  INTEGER,
    cwrBurstSizeGroup          OCTET STRING
}

cwrRfIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..2)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This object, along with ifIndex,  represents the index of 
            this entry in the cwrRfTable."
    ::= { cwrRfEntry 1 }

cwrRfResIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the index into CwrRfEntityTable. This 
            index identifies the radio frequency resource."
    REFERENCE  " Refer to CwrRfEntityTable in CISCO-WIRELESS-EXP-MIB"
    ::= { cwrRfEntry 2 }

cwrRFOpMode OBJECT-TYPE
    SYNTAX          INTEGER {
                        rxOnly(0),
                        txOnly(1),
                        rxAndTx(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object indicates if this RF resource is being used to either
            receive, transmit, or both."
    ::= { cwrRfEntry 3 }

cwrTxFreqRangeMin OBJECT-TYPE
    SYNTAX          INTEGER (215000..582500)
    UNITS           "10 kHz"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the minimum frequency at which this 
            RF resource can transmit."
    ::= { cwrRfEntry 4 }

cwrTxFreqRangeMax OBJECT-TYPE
    SYNTAX          INTEGER (215000..582500)
    UNITS           "10 kHz"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the maximum frequency at which this 
            RF resource can transmit."
    ::= { cwrRfEntry 5 }

cwrRxFreqRangeMin OBJECT-TYPE
    SYNTAX          INTEGER (215000..582500)
    UNITS           "10 kHz"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the lowest transmission frequency this RF
            resource can receive."
    ::= { cwrRfEntry 6 }

cwrRxFreqRangeMax OBJECT-TYPE
    SYNTAX          INTEGER (215000..582500)
    UNITS           "10 kHz"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the highest transmission frequency that 
            this RF resource can receive."
    ::= { cwrRfEntry 7 }

cwrMinTxPower OBJECT-TYPE
    SYNTAX          Integer32 (-80..33)
    UNITS           "dBm Decibel milliwatts"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the minimum power that the RF subsystem
            can supply the antenna."
    ::= { cwrRfEntry 8 }

cwrMaxTxPower OBJECT-TYPE
    SYNTAX          Integer32 (-80..33)
    UNITS           "dBm Decibel milliwatts"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the maximum power that the RF subsystem can
            supply the antenna."
    ::= { cwrRfEntry 9 }

cwrRfTxOscState OBJECT-TYPE
    SYNTAX          CwrOscState
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the state of the transmit oscillator. The
            oscillator must be in oscillatorOk(1) state for the system to 
            function properly."
    ::= { cwrRfEntry 10 }

cwrRfAntIndex OBJECT-TYPE
    SYNTAX          Integer32 (0..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the index into the cwrAntennaTable. This
            object may be 0 if the cwrAntennaTable is not available."
    ::= { cwrRfEntry 11 }

cwrRfRxOscState OBJECT-TYPE
    SYNTAX          CwrOscState
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the state of the receive oscillator. The
            oscillator must be in oscillatorOk(1) state for the system to 
            function properly."
    ::= { cwrRfEntry 12 }

cwrRfTemperature OBJECT-TYPE
    SYNTAX          Integer32 (-40..100)
    UNITS           "Degrees Centigrade"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the current temperature of the RF unit."
    ::= { cwrRfEntry 13 }

cwrRfSupplyVoltageState OBJECT-TYPE
    SYNTAX          INTEGER {
                        withinSpecification(1),
                        outsideSpecification(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object specifies whether the voltage supply to the RF unit is
            within specifications or not."
    ::= { cwrRfEntry 14 }

cwrRfStatus OBJECT-TYPE
    SYNTAX          INTEGER {
                        online(1),
                        offline(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object specifies whether the RF resource is functioning 
            properly or not. If it is functioning properly then it will be 
            online(1), else offline(2)."
    ::= { cwrRfEntry 15 }

cwrRfControlChannelStatus OBJECT-TYPE
    SYNTAX          INTEGER {
                        ok(1),
                        notOk(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "Each RF resource has an associated control channel.
            The control channel is used to send/receive control information to 
            the RF resource. For the RF resouce to operate properly, the control
            channel must be established. 
            This object indicates the status of the control channel
            ok(1)    - RF resource may be controlled successfully
            notOk(2) - Cannot talk to the RF resource."
    ::= { cwrRfEntry 16 }

cwrBurstSizeGroup OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE (2))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object indicates the range or burst sizes supported by the 
            ODU.  This information is read from the ODU EEPROM.  The user may 
            set the cwrBurstSize MIB object in the cwrRadioPhyTable based on 
            the value of this object."
    ::= { cwrRfEntry 17 }

-- The Intermediate Frequency Resource table. This table contains
-- information about the Intermediate Frequency subsystem on the wireless
-- radio.
cwrIntFreqTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrIntFreqEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains information about the state of the 
            intermediate frequency subsystem on the wireless radio."
    ::= { cwrRadioFreqResGroup 2 }

cwrIntFreqEntry OBJECT-TYPE
    SYNTAX          CwrIntFreqEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrIntFreqTable.
            This table is largely a read only table which provides details
            on the state of the intermediate frequency subsystem available on 
            the wireless radio."
    INDEX           { ifIndex }
    ::= { cwrIntFreqTable 1 }

CwrIntFreqEntry ::= SEQUENCE {
    cwrIfTxOscState     CwrOscState,
    cwrIfRxOscState     CwrOscState,
    cwrIfRefOscState    CwrOscState,
    cwrIfResIndex       Integer32,
    cwrIfInpFreq        Integer32,
    cwrIfOutFreq        Integer32
}

cwrIfTxOscState OBJECT-TYPE
    SYNTAX          CwrOscState
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the state of the IF transmit oscillator. The
            oscillator must be in oscillatorOk(1) state for the system to 
            function properly."
    ::= { cwrIntFreqEntry 1 }

cwrIfRxOscState OBJECT-TYPE
    SYNTAX          CwrOscState
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the state of the IF receive oscillator. 
            The oscillator must be in oscillatorOk(1) state for the system to 
            function properly."
    ::= { cwrIntFreqEntry 2 }

cwrIfRefOscState OBJECT-TYPE
    SYNTAX          CwrOscState
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the state of the IF reference oscillator. 
            The oscillator must be in oscillatorOk(1) state for the system 
            to function properly."
    ::= { cwrIntFreqEntry 3 }

cwrIfResIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the index into CwrIntFreqEntityTable.
            It identifies the intermediate frequency resource."
    REFERENCE       " Refer to CwrIntFreqEntityTable in CISCO-WIRELESS-EXP-MIB"
    ::= { cwrIntFreqEntry 4 }

cwrIfInpFreq OBJECT-TYPE
    SYNTAX          Integer32 (100..10000)
    UNITS           "10 kHz"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "This object represents the IF input frequency."
    ::= { cwrIntFreqEntry 5 }

cwrIfOutFreq OBJECT-TYPE
    SYNTAX          Integer32 (20000..50000)
    UNITS           "10 kHz"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "This object represents the IF output frequency."
    ::= { cwrIntFreqEntry 6 }

-- The Radio Link Metrics Group



-- The Link Metrics Group contains information about the quality of the
-- radio link identified by the ifIndex.

-- The the diagram below may be used cross refer to the definitions.
-- (Note the diagram is just an example):


-- Link Admin-Up                                               Link Admin-Down
-- |<===================== Link Admin Up Secs ======================>|
-- |                                                                 |
-- |                                                                 |
-- V=================================================================V
-- |<=Sync Loss Secs=>|<=====EFS========>|<=========ES==============>|
-- |                  |<=Errs=>|<==DS==>|<==SES==>|
-- |<======== Avail Secs ==============>|


-- Definitions:

-- Link Admin Up Seconds :
-- Interval in seconds, between the time the link was
-- administratively configured up and when it was
-- administratively configured down. It is equal to:
-- Available Seconds + Unavailable Seconds.

-- An Operational Second :
-- Is defined to be 1 second during which the ends of a radio link are
-- synchronized and ready for duplex communication.
-- At this point effective communication may not be possible due to
-- unacceptably high errors on the link.

-- An Operational Hour :
-- Is 3600 operational seconds.

-- Post ARQ Codeword Error:
-- Also referred to as codeword error in this MIB.
-- A codeword with errors in it, that could NOT be corrected at all.
-- A codeword that cannot be corrected is dropped so reducing the
-- total data throughput.

-- Sync Loss Seconds:
-- The duration in seconds after the link was configured administratively
-- up but the two ends of the link were not synchronized.

-- Error Free Second (CwrCwErrorFreeSecond):
-- An Codeword Error Free Second (EFS) is defined as 1 second when the
-- radio link was synchronized and no codeword errors detected on
-- the link.

-- Errored Second (CwrCwErroredSecond):
-- A Codeword Errored Second (ES) is defined as 1 second when the radio
-- link was synchronized and 1 or more codeword errors were detected on the
-- link.

-- Degraded Second (CwrCwDegradedSecond):
-- A Codeword Degraded Second (DS) is defined as a 1 second interval
-- during which the number of codeword errors was between
-- cwrLinkLowCwErrThresh and cwrLinkHighCwErrThresh.

-- Degraded Minute (CwrCwDegradedMinute):
-- A Codeword Degraded Minute (DM) is defined as a 60 Codeword Degraded
-- Seconds.

-- Severely Errored Second (CwrCwSeverelyErroredSecond):
-- A Codeword Severely Errored Second (SES) is defined as 1 second when
-- the radio link was synchronized and the number of codeword errors
-- received was greater than the threshold specified by
-- cwrLinkHighCwErrThresh.

-- Consecutively Severely Errored Second (CwrCwConsecutiveSevErrSecond):
-- A Codeword Consecutively Severely Errored Seconds (CSES) is defined as
-- the metric that measures the number of times a sequence of Codeword
-- Severely Errored Seconds(SES) crosses the cwrLinkCSESThresh value.
-- It is independent of the length of the SES sequence.
-- In other words this counter is incremented by one and only one
-- for every such occurrence.
-- This metric measures the stability of the link i.e. if this count
-- is high, it implies that the link is oscillating between
-- usable v/s unusable extremes.

-- An Available second:
-- Is defined to be 1 second during which the link was available for
-- data transmission. It is equal to:
-- Error Free Seconds + Errored Seconds - Severely Errored Seconds.

-- Unavailable Seconds:
-- Represent the number of seconds that the user wanted the link to be
-- availble but was not. It is equal to:
-- Severely Errored Seconds + Sync Loss Seconds.


-- This group contains the following groups of information:

-- o) Link Metric Thresholds. This table provides facilities to establish
-- thresholds that control the collection of the link metrics.

-- o) Cumulative link metrics. This table provides cumulative metrics
-- about the link since the last reboot of the radio interface.

-- o) 24 Hour Metrics. This includes cumulative values of the metrics for
-- every 24 hours (day) for a duration of atleast 32 days.
-- The information in table is identical to the information in the
-- 1 Hour Metrics except that the data has been aggregated over
-- 24 hours.

-- o) 1 Hour Metrics. This includes cumulative values of the metrics for
-- every hour for a duration of atleast 24 hours. The information in
-- table is identical to the information in the 1 Minute Metrics except
-- that the data has been aggregated over 1 hour.

-- o) 1 Minute Metrics. This includes cumulative values of the metrics
-- for every minute for the atleast 60 minutes.

-- o) 1 Second Metrics. This table includes updates received from
-- hardware over the last 1 second. This contains hardware reported
-- information cumulated over 1 second.



-- Link Metric Thresholds
cwrLinkMetricsThresholdTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrLinkMetricsThreshEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains threshold values that are the trigger points 
            for controlling the collection of the Link Metrics such as 
            Codeword Errored Seconds and others."
    ::= { cwrRadioMetricsGroup 1 }

cwrLinkMetricsThreshEntry OBJECT-TYPE
    SYNTAX          CwrLinkMetricsThreshEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "There exists one such entry for every interface in the ifTable 
            which has an ifType of propWirelessP2P(157).

            Each of these entries are indexed by the value of ifIndex as 
            defined in RFC2863."
    INDEX           { ifIndex }
    ::= { cwrLinkMetricsThresholdTable 1 }

CwrLinkMetricsThreshEntry ::= SEQUENCE {
    cwrLinkCwESThresh           Unsigned32,
    cwrLinkLowCwDSThresh        Unsigned32,
    cwrLinkHighCwDSThresh       Unsigned32,
    cwrLinkCSESThresh           Unsigned32,
    cwrLink1HrESAlarmThresh     Unsigned32,
    cwrLink1HrSESAlarmThresh    Unsigned32,
    cwrLink1HrCSESAlarmThresh   Unsigned32,
    cwrLink1HrDCMAlarmThresh    Unsigned32,
    cwrLink24HrESAlarmThresh    Unsigned32,
    cwrLink24HrSESAlarmThresh   Unsigned32,
    cwrLink24HrCSESAlarmThresh  Unsigned32,
    cwrLink24HrDCMAlarmThresh   Unsigned32
}

cwrLinkCwESThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "If the number of Codeword Errors detected in a duration of 1
            Operational second, is greater than this value then that second is
            counted as an Errored Second."
    ::= { cwrLinkMetricsThreshEntry 1 }

cwrLinkLowCwDSThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies low degraded second threshold.
            When the number of codeword errors detected are greater or equal 
            than this value and less than cwrLinkHighCwDSThresh
            then that second is counted as a Codeword Degraded Second."
    ::= { cwrLinkMetricsThreshEntry 2 }

cwrLinkHighCwDSThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies high degraded second threshold.
            When then number of codeword errors detected are greater than
            this value then that second is counted as a Codeword Severely 
            Errored Second."
    ::= { cwrLinkMetricsThreshEntry 3 }

cwrLinkCSESThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "When the number of severely errored codewords detected 
            consecutively in one second equals this threshold value, 
            the second is counted as a Consecutively Severely Errored Second."
    ::= { cwrLinkMetricsThreshEntry 4 }

cwrLink1HrESAlarmThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the one hour Codeword Error Second threshold.
            When the number of Codeword Error Seconds in a 1 Operational Hour
            period exceeds this limit cwrTrapLink1HrThresh trap will be 
            generated. Time measurement starts after the first 
            operational second."
    ::= { cwrLinkMetricsThreshEntry 5 }

cwrLink1HrSESAlarmThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the one hour Codeword Severely Errored 
            Seconds threshold. When the number of Codeword Severely Errored 
            Seconds in a 1 Operational Hour period exceeds this limit 
            cwrTrapLink1HrThresh trap will be generated. Time measurement 
            starts after the first operational second."
    ::= { cwrLinkMetricsThreshEntry 6 }

cwrLink1HrCSESAlarmThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the one hour Codeword Consecutively Severely
            Errored Seconds threshold. When the number of Codeword Severely 
            Errored Seconds in a 1 Operational Hour period exceeds this limit
            cwrTrapLink1HrThresh trap will be generated.
            Time measurement starts after the first operational second."
    ::= { cwrLinkMetricsThreshEntry 7 }

cwrLink1HrDCMAlarmThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the one hour Degraded Codeword Minute
            threshold. When the number of Degraded Codeword Minutes in a 1
            Operational Hour period exceeds this limit cwrTrapLink1HrThresh trap
            will be generated. 
            Time measurement starts after the first operational second."
    ::= { cwrLinkMetricsThreshEntry 8 }

cwrLink24HrESAlarmThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the 24 hour Codeword Error Second threshold.
            When the number of Codeword Error Seconds in a 24 Operational Hour
            period exceeds this limit cwrTrapLink24HrThresh trap will be 
            generated.
            Time measurement starts after the first operational second."
    ::= { cwrLinkMetricsThreshEntry 9 }

cwrLink24HrSESAlarmThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the one hour Codeword Severely Errored 
            Seconds threshold. When the number of Codeword Severely Errored 
            Seconds in a 1 Operational Hour period exceeds this limit 
            cwrTrapLink24HrThresh trap will be generated. 
            Time measurement starts after the first operational second."
    ::= { cwrLinkMetricsThreshEntry 10 }

cwrLink24HrCSESAlarmThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the one hour Codeword Consecutively Severely
            Errored Seconds threshold. 
            When the number of Codeword Severely Errored
            Seconds in a 1 Operational Hour period exceeds this limit
            cwrTrapLink24HrThresh trap will be generated.
            Time measurement starts    after the first operational second."
    ::= { cwrLinkMetricsThreshEntry 11 }

cwrLink24HrDCMAlarmThresh OBJECT-TYPE
    SYNTAX          Unsigned32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object specifies the one hour Degraded Codeword Minute
            threshold. When the number of Degraded Codeword Minutes in a 1
            Operational Hour period exceeds this limit cwrTrapLink24HrThresh
            trap will be generated.
            Time measurement starts after the first operational second."
    ::= { cwrLinkMetricsThreshEntry 12 }

-- Cumulative Link Metrics Table.
-- This table provides overall metrics on the performance of the link since
-- the last reboot of the radio interface.
cwrCumulativeMetricsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrCumulativeMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains metrics used to measure the quality of the 
            radio link identified by the ifIndex. The metrics in this table 
            are cumulated since the last time the system powered up."
    ::= { cwrRadioMetricsGroup 2 }

cwrCumulativeMetricsEntry OBJECT-TYPE
    SYNTAX          CwrCumulativeMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "There exists one such entry for every interface in the ifTable 
            which has an ifType of propWirelessP2P(157).

            Each of these entries are indexed by the value of ifIndex as defined
            in RFC2863."
    INDEX           { ifIndex }
    ::= { cwrCumulativeMetricsTable 1 }

CwrCumulativeMetricsEntry ::= SEQUENCE {
    cwrAvailableSeconds           Counter32,
    cwrUnAvailableSeconds         Counter32,
    cwrSyncLossSeconds            Counter32,
    cwrPctErrorFreeSeconds        Gauge32,
    cwrPctErroredSeconds          Gauge32,
    cwrPctSeverelyErroredSeconds  Gauge32,
    cwrPctAvailSeconds            Gauge32,
    cwrPctCwDegradedMinutes       Gauge32,
    cwrSyncSuccessCount           Counter32,
    cwrSyncFailureCount           Counter32,
    cwrManagedSyncLoss            Counter32,
    cwrAutomaticSyncLoss          Counter32,
    cwrLastSyncSuccessTime        TimeInterval,
    cwrLastSyncFailTime           TimeInterval,
    cwrEffectivePhyDataRate       Gauge32,
    cwrPctEffectivePhyDataRate    Gauge32
}

cwrAvailableSeconds OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of Available Seconds cumulated
            since the link was powered up. It is equal to:
            Error Free Seconds + Errored Seconds - Severely Errored Seconds."
    ::= { cwrCumulativeMetricsEntry 1 }

cwrUnAvailableSeconds OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of seconds that the link was
            not available for use. It is equal to:
            Severely Errored Seconds + Sync Loss Seconds."
    ::= { cwrCumulativeMetricsEntry 2 }

cwrSyncLossSeconds OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of Link Admin Up Seconds during
            which the radio link was out of sync with the remote end."
    ::= { cwrCumulativeMetricsEntry 3 }

cwrPctErrorFreeSeconds OBJECT-TYPE
    SYNTAX          Gauge32 (1..10000)
    UNITS           "0.01 percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the ratio of cumulative Codeword Error Free
            Seconds (EFS) to Link Admin Up seconds, expressed as a percentage."
    ::= { cwrCumulativeMetricsEntry 4 }

cwrPctErroredSeconds OBJECT-TYPE
    SYNTAX          Gauge32 (1..10000)
    UNITS           "0.01 percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the ratio of cumulative Codeword Errored
            Seconds (ES) to Link Admin Up seconds, expressed as a percentage."
    ::= { cwrCumulativeMetricsEntry 5 }

cwrPctSeverelyErroredSeconds OBJECT-TYPE
    SYNTAX          Gauge32 (1..10000)
    UNITS           "0.01 percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the ratio of cumulative Codeword Severely
            Errored Seconds (SES) to Link Admin Up seconds, expressed as a 
            percentage."
    ::= { cwrCumulativeMetricsEntry 6 }

cwrPctAvailSeconds OBJECT-TYPE
    SYNTAX          Gauge32 (1..10000)
    UNITS           "0.01 percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the ratio of cumulative Available seconds to
            Link Admin Up seconds, expressed as a percentage."
    ::= { cwrCumulativeMetricsEntry 7 }

cwrPctCwDegradedMinutes OBJECT-TYPE
    SYNTAX          Gauge32 (1..10000)
    UNITS           "0.01 percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the ratio of cumulative Codeword Degraded
            Minutes to Link Admin Up seconds, expressed as a percentage."
    ::= { cwrCumulativeMetricsEntry 8 }

cwrSyncSuccessCount OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents number of times the radio link successfully
            synchronized with the far end."
    ::= { cwrCumulativeMetricsEntry 9 }

cwrSyncFailureCount OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents number of times the link attempted to
            synchronize with the far end but failed to."
    ::= { cwrCumulativeMetricsEntry 10 }

cwrManagedSyncLoss OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents number of times the radio link layer was
            shutdown by operator intervention or a higher layer protocol."
    ::= { cwrCumulativeMetricsEntry 11 }

cwrAutomaticSyncLoss OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents number of times the radio link was 
            synchronized but lost synchronization with the remote end 
            without manual or higher layer protocol layer intervention."
    ::= { cwrCumulativeMetricsEntry 12 }

cwrLastSyncSuccessTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents elapsed time since the radio link
            successfully synchronized with the remote end."
    ::= { cwrCumulativeMetricsEntry 13 }

cwrLastSyncFailTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents elapsed time since the radio link
            lost synchronization with the remote end."
    ::= { cwrCumulativeMetricsEntry 14 }

cwrEffectivePhyDataRate OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the effective data throughput of this link
            while the link was synchronized."
    ::= { cwrCumulativeMetricsEntry 15 }

cwrPctEffectivePhyDataRate OBJECT-TYPE
    SYNTAX          Gauge32 (1..10000)
    UNITS           "0.01 percent"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the ratio of total error free codewords 
            received to the total codewords received as a percentage."
    ::= { cwrCumulativeMetricsEntry 16 }

-- Most Recent 24 Hour Link Metrics Table.

-- This table provides metrics on the performance of the link over the
-- the last 24 Operational Hours.
cwr24HrMetricsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF Cwr24HrMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains metrics collected over the duration of 
            24 hours.
            This table is updated once every day for 32 days. Therefore, this
            table will have a maximum of 32 entries that provide cumulative 
            status of the link, identified by ifIndex."
    ::= { cwrRadioMetricsGroup 3 }

cwr24HrMetricsEntry OBJECT-TYPE
    SYNTAX          Cwr24HrMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwr24HrMetricsTable 
            indexed by ifIndex and cwr24HrMetricsIndex.

            The first entry in the table (cwr24HrMetricsIndex = 1) represents 
            the chronologically oldest data available."
    INDEX           {
                        ifIndex,
                        cwr24HrMetricsIndex
                    }
    ::= { cwr24HrMetricsTable 1 }

Cwr24HrMetricsEntry ::= SEQUENCE {
    cwr24HrMetricsIndex           Integer32,
    cwr24HrUpdateTime             Integer32,
    cwr24HrErrorFreeSeconds       CwrCwErrorFreeSecond,
    cwr24HrErroredSeconds         CwrCwErroredSecond,
    cwr24HrSevErroredSeconds      CwrCwSeverelyErroredSecond,
    cwr24HrConsecSvErrSeconds     CwrCwConsecutiveSevErrSecond,
    cwr24HrDegradedMinutes        CwrCwDegradedMinute,
    cwr24HrTotalErroredCodewords  WirelessGauge64,
    cwr24HrTotalCodewords         WirelessGauge64
}

cwr24HrMetricsIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..32)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "Each entry represents the sum of the metrics from the previous 24
            hour entry + the 24 hour period immdeiately prior to the most 
            recent update."
    ::= { cwr24HrMetricsEntry 1 }

cwr24HrUpdateTime OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents time in seconds since system power up at 
            which time this entry was updated."
    ::= { cwr24HrMetricsEntry 2 }

cwr24HrErrorFreeSeconds OBJECT-TYPE
    SYNTAX          CwrCwErrorFreeSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Error Free Seconds 
            (EFS) detected since link power up, captured at cwr24HrUpdateTime."
    ::= { cwr24HrMetricsEntry 3 }

cwr24HrErroredSeconds OBJECT-TYPE
    SYNTAX          CwrCwErroredSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of Codeword Error Seconds (ES)
            detected since link power up, captured at cwr24HrUpdateTime."
    ::= { cwr24HrMetricsEntry 4 }

cwr24HrSevErroredSeconds OBJECT-TYPE
    SYNTAX          CwrCwSeverelyErroredSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of Codeword Severely Error 
            Seconds (SES) detected since link power up, captured at 
            cwr24HrUpdateTime."
    ::= { cwr24HrMetricsEntry 5 }

cwr24HrConsecSvErrSeconds OBJECT-TYPE
    SYNTAX          CwrCwConsecutiveSevErrSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of Codeword Consecutively 
            Severely Error Seconds (CSES) detected since link power up, 
            captured at cwr24HrUpdateTime."
    ::= { cwr24HrMetricsEntry 6 }

cwr24HrDegradedMinutes OBJECT-TYPE
    SYNTAX          CwrCwDegradedMinute
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of Codeword Degraded Minutes (DM)
            detected since link power up, captured at cwr24HrUpdateTime."
    ::= { cwr24HrMetricsEntry 7 }

cwr24HrTotalErroredCodewords OBJECT-TYPE
    SYNTAX          WirelessGauge64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the total number of errored codewords
            detected since link power up, captured at cwr24HrUpdateTime."
    ::= { cwr24HrMetricsEntry 8 }

cwr24HrTotalCodewords OBJECT-TYPE
    SYNTAX          WirelessGauge64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the total number of codewords
            received on this link since link power up, captured at
            cwr24HrUpdateTime."
    ::= { cwr24HrMetricsEntry 9 }

-- One Hour Link Metrics Table.
cwr1HrMetricsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF Cwr1HrMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains metrics collected over the duration of one 
            hour.
            This table will have a maximum of 24 entries providing cumulative 
            status of the link, identified by ifIndex, over the past 24 hours.
            This table is updated once every hour."
    ::= { cwrRadioMetricsGroup 4 }

cwr1HrMetricsEntry OBJECT-TYPE
    SYNTAX          Cwr1HrMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwr1HrMetricsTable indexed by 
            ifIndex and cwr1HrMetricsIndex.

            The first entry in the table (cwr1HrMetricsIndex = 1) represents 
            the chronologically oldest data available."
    INDEX           {
                        ifIndex,
                        cwr1HrMetricsIndex
                    }
    ::= { cwr1HrMetricsTable 1 }

Cwr1HrMetricsEntry ::= SEQUENCE {
    cwr1HrMetricsIndex        Integer32,
    cwr1HrUpdateTime          Integer32,
    cwr1HrErrorFreeSeconds    CwrCwErrorFreeSecond,
    cwr1HrErroredSeconds      CwrCwErroredSecond,
    cwr1HrSevErroredSeconds   CwrCwSeverelyErroredSecond,
    cwr1HrConsecSvErrSeconds  CwrCwConsecutiveSevErrSecond,
    cwr1HrDegradedMinutes     CwrCwDegradedMinute,
    cwr1HrErroredCodewords    WirelessGauge64,
    cwr1HrTotalCodewords      WirelessGauge64
}

cwr1HrMetricsIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..24)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "Each entry represents the sum of the metrics from the previous 1 
            hour entry + the 1 hour period immdeiately prior to the most 
            recent update."
    ::= { cwr1HrMetricsEntry 1 }

cwr1HrUpdateTime OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents time in seconds since system power up at 
            which time this entry was updated."
    ::= { cwr1HrMetricsEntry 2 }

cwr1HrErrorFreeSeconds OBJECT-TYPE
    SYNTAX          CwrCwErrorFreeSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Error Free Seconds 
            (EFS) detected since link power up, captured at cwr1HrUpdateTime."
    ::= { cwr1HrMetricsEntry 3 }

cwr1HrErroredSeconds OBJECT-TYPE
    SYNTAX          CwrCwErroredSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Errored Seconds
            (ES) detected since link power up, captured at cwr1HrUpdateTime."
    ::= { cwr1HrMetricsEntry 4 }

cwr1HrSevErroredSeconds OBJECT-TYPE
    SYNTAX          CwrCwSeverelyErroredSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Severely Errored 
            Seconds (SES) detected since link power up, captured at 
            cwr1HrUpdateTime."
    ::= { cwr1HrMetricsEntry 5 }

cwr1HrConsecSvErrSeconds OBJECT-TYPE
    SYNTAX          CwrCwConsecutiveSevErrSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Consecutive Severely
            Errored Seconds (CSES) detected since link power up, 
            captured at cwr1HrUpdateTime."
    ::= { cwr1HrMetricsEntry 6 }

cwr1HrDegradedMinutes OBJECT-TYPE
    SYNTAX          CwrCwDegradedMinute
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Degraded Minutes
            detected since link power up, captured at cwr1HrUpdateTime."
    ::= { cwr1HrMetricsEntry 7 }

cwr1HrErroredCodewords OBJECT-TYPE
    SYNTAX          WirelessGauge64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative errored codewords detected
            since link power up, captured at cwr1HrUpdateTime."
    ::= { cwr1HrMetricsEntry 8 }

cwr1HrTotalCodewords OBJECT-TYPE
    SYNTAX          WirelessGauge64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative total received codewords
            detected since link power up, captured at cwr1HrUpdateTime."
    ::= { cwr1HrMetricsEntry 9 }

-- One Minute Link Metrics Table
cwr1MinMetricsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF Cwr1MinMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains metrics collected over the duration of one 
            minute.
            This table will have a maximum of 60 entries providing cumulative 
            status of the link, identified by ifIndex, over the past 60 minutes.
            This table is updated once every minute."
    ::= { cwrRadioMetricsGroup 5 }

cwr1MinMetricsEntry OBJECT-TYPE
    SYNTAX          Cwr1MinMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwr1MinMetricsTable indexed by 
            ifIndex and cwr1MinMetricsIndex.

            The first entry in the table (cwr1MinMetricsIndex = 1) represents 
            the chronologically oldest data available."
    INDEX           {
                        ifIndex,
                        cwr1MinMetricsIndex
                    }
    ::= { cwr1MinMetricsTable 1 }

Cwr1MinMetricsEntry ::= SEQUENCE {
    cwr1MinMetricsIndex          Integer32,
    cwr1MinUpdateTime            Integer32,
    cwr1MinErrorFreeSeconds      CwrCwErrorFreeSecond,
    cwr1MinErroredSeconds        CwrCwErroredSecond,
    cwr1MinSevErroredSeconds     CwrCwSeverelyErroredSecond,
    cwr1MinConsecSvCwErrSeconds  CwrCwConsecutiveSevErrSecond,
    cwr1MinDegradedSeconds       CwrCwDegradedSecond,
    cwr1MinErroredCodewords      WirelessGauge64,
    cwr1MinCodewords             WirelessGauge64
}

cwr1MinMetricsIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..60)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "Each entry represents the sum of the metrics from the previous 1
            minute entry + the 1 minute period immdeiately prior to the most 
            recent update."
    ::= { cwr1MinMetricsEntry 1 }

cwr1MinUpdateTime OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents time in seconds since system power up at 
            which time this entry was updated."
    ::= { cwr1MinMetricsEntry 2 }

cwr1MinErrorFreeSeconds OBJECT-TYPE
    SYNTAX          CwrCwErrorFreeSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Error Free Seconds 
            (EFS) detected since link power up, captured at cwr1MinUpdateTime."
    ::= { cwr1MinMetricsEntry 3 }

cwr1MinErroredSeconds OBJECT-TYPE
    SYNTAX          CwrCwErroredSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Errored Seconds
            (ES) detected since link power up, captured at cwr1MinUpdateTime."
    ::= { cwr1MinMetricsEntry 4 }

cwr1MinSevErroredSeconds OBJECT-TYPE
    SYNTAX          CwrCwSeverelyErroredSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Severely Errored 
            Seconds (SES) detected since link power up, captured at 
            cwr1MinUpdateTime."
    ::= { cwr1MinMetricsEntry 5 }

cwr1MinConsecSvCwErrSeconds OBJECT-TYPE
    SYNTAX          CwrCwConsecutiveSevErrSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Consecutively 
            Severely Errored Seconds (CSES) detected since link power up, 
            captured at cwr1MinUpdateTime."
    ::= { cwr1MinMetricsEntry 6 }

cwr1MinDegradedSeconds OBJECT-TYPE
    SYNTAX          CwrCwDegradedSecond
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative Codeword Degraded Seconds 
            (DS) detected since link power up, captured at cwr1MinUpdateTime."
    ::= { cwr1MinMetricsEntry 7 }

cwr1MinErroredCodewords OBJECT-TYPE
    SYNTAX          WirelessGauge64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative errored codewords detected
            since link power up, captured at cwr1MinUpdateTime."
    ::= { cwr1MinMetricsEntry 8 }

cwr1MinCodewords OBJECT-TYPE
    SYNTAX          WirelessGauge64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative total received codewords
            detected since link power up, captured at cwr1MinUpdateTime."
    ::= { cwr1MinMetricsEntry 9 }

-- One Second Link Metrics
cwr1SecMetricsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF Cwr1SecMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains metrics collected over a duration of 1 second.
            The data in this table is derived directly from the hardware.

            This table will have a maximum of 60 entries providing cumulative 
            status of the link, identified by ifIndex, over the past 60 seconds.

            This table is updated once every second."
    ::= { cwrRadioMetricsGroup 6 }

cwr1SecMetricsEntry OBJECT-TYPE
    SYNTAX          Cwr1SecMetricsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwr1SecMetricsTable indexed by 
            ifIndex and cwr1SecMetricsIndex.

            The first entry in the table (cwr1SecIndex = 1) represents the 
            chronologically oldest data available."
    INDEX           {
                        ifIndex,
                        cwr1SecIndex
                    }
    ::= { cwr1SecMetricsTable 1 }

Cwr1SecMetricsEntry ::= SEQUENCE {
    cwr1SecIndex                  Integer32,
    cwr1SecUpdateTime             Integer32,
    cwr1SecRxCodewords            WirelessGauge64,
    cwr1SecRSCodewordErrors       WirelessGauge64,
    cwr1SecArqCodewordErrors      Gauge32,
    cwr1SecRxRrCount              Gauge32,
    cwr1SecRxRrEventCount         Gauge32,
    cwr1SecTxArqCount             Gauge32,
    cwr1SecTxArqEventCount        Gauge32,
    cwr1SecCorrectedSyncByteErrs  Gauge32,
    cwr1SecConsecutiveCwErrs      Gauge32,
    cwr1SecPostARQGoodCodewords   WirelessGauge64
}

cwr1SecIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..60)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "Each entry represents the sum of the metrics from the previous
            1 second entry + the 1 second period immdeiately prior to the
            most recent update."
    ::= { cwr1SecMetricsEntry 1 }

cwr1SecUpdateTime OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents time in seconds since system power up at 
            which time this entry was updated."
    ::= { cwr1SecMetricsEntry 2 }

cwr1SecRxCodewords OBJECT-TYPE
    SYNTAX          WirelessGauge64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative total number of codewords
            received by this radio link at the time this entry was updated."
    ::= { cwr1SecMetricsEntry 3 }

cwr1SecRSCodewordErrors OBJECT-TYPE
    SYNTAX          WirelessGauge64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative uncorrectable codewords
            emitted by the Reed-Solomon error correction engine at the time
            this entry was updated. This is also called Pre ARQ codeword error."
    ::= { cwr1SecMetricsEntry 4 }

cwr1SecArqCodewordErrors OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative number of uncorrectable
            codewords consumed by the Automatic Repeat Query error correction
            engine at the time this entry was updated. This is also called as
            Post ARQ codeword error."
    ::= { cwr1SecMetricsEntry 5 }

cwr1SecRxRrCount OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This represents the cumulative number of unique RR's (Retransmit
            Requests) received (from the remote end) at the time this entry was
            updated.
            The remote end issues a Retransmit Request if it receives an
            uncorrectable codeword."
    ::= { cwr1SecMetricsEntry 6 }

cwr1SecRxRrEventCount OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative number of RRs
            (Retransmit Requests) that were serviced at the time this entry was
            updated."
    ::= { cwr1SecMetricsEntry 7 }

cwr1SecTxArqCount OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents cumulative number of unique ARQ's that
            were received by the transmit side of the local end at the time
            this entry was updated.

            This provides an indication of how error free the transmisisons of
            the local end of the link are from the the remote end's 
            perspective."
    ::= { cwr1SecMetricsEntry 8 }

cwr1SecTxArqEventCount OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents cumulative number of ARQ's that were 
            serviced at the time this entry was updated.

            A serviced ARQ results in a re-transmitted codeword."
    ::= { cwr1SecMetricsEntry 9 }

cwr1SecCorrectedSyncByteErrs OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative number of corrected sync byte
            errors, at the time this entry was updated."
    ::= { cwr1SecMetricsEntry 10 }

cwr1SecConsecutiveCwErrs OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the size of the larget block of consecutive
            codeword errors received since this entry was last updated."
    ::= { cwr1SecMetricsEntry 11 }

cwr1SecPostARQGoodCodewords OBJECT-TYPE
    SYNTAX          WirelessGauge64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the cumulative number of error free 
            codewords emitted by the Automatic Repeat Query error correction 
            engine at the time this entry was updated. Also called as
            Post ARQ good codewords."
    ::= { cwr1SecMetricsEntry 12 }

-- Radio History Group. This group is optional.


-- The Histogram Table. This table contains information about the set of
-- histograms that the hardware can be programmed to maintain.

-- These histograms are generated as follows :
-- Radio signal data is sampled.
-- Occurrences of values of the radio signal data is counted.
-- This count is maintained as discrete sets. Each set represented by one bin.

-- Note that the raw radio signal data is not stored in the bins. It is the
-- count of the occurrence of the radio signal sample that gets stored.
cwrHistCtrlTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrHistCtrlEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains information about histograms configured in
            hardware. When data is collected it will be stored in histogram
            bins as follows:
            All values (X < cwrStartBinValue) will be kept in the first
            histogram bin.
            Subsequent values will be distributed in the bins based on the
            cwrBinDelta. Last bin, will contain all values
            (X > (cwrStartBinValue + (cwrNumBins - 2) * cwrBinDelta)),
            i.e. any value that is greater than that may be stored in the
            last bin."
    ::= { cwrRadioHistoryGroup 1 }

cwrHistCtrlEntry OBJECT-TYPE
    SYNTAX          CwrHistCtrlEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrHistogramTable.
            It is indexed by the ifIndex, cwrHistIndex."
    INDEX           {
                        ifIndex,
                        cwrHistIndex
                    }
    ::= { cwrHistCtrlTable 1 }

CwrHistCtrlEntry ::= SEQUENCE {
    cwrHistIndex          Integer32,
    cwrHistClass          CwrRadioSignalAttribute,
    cwrRfResourceId       CwrRFZeroIndex,
    cwrDspNumber          INTEGER,
    cwrStartBinValue      Integer32,
    cwrBinDelta           Integer32,
    cwrNumHistBins        Integer32,
    cwrUpdateRate         Integer32,
    cwrCollDuration       Integer32,
    cwrOwnerId            OwnerString,
    cwrHistBitShift       INTEGER,
    cwrHistToneSelection  INTEGER,
    cwrHistToneValue      Integer32,
    cwrHistAction         CwrCollectionAction,
    cwrHistStatus         CwrCollectionStatus,
    cwrHistRowStatus      RowStatus,
    cwrHistPeriodicSum    TruthValue
}

cwrHistIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This object, along with ifIndex, is the index into this table
            and represents one entry in the table. The entry in this table 
            for which cwrHistIndex = x is associated with the entry in
            cwrHistSummaryTable and the entry in cwrHistDataTable for 
            which the index variable in those tables has the same value, x."
    ::= { cwrHistCtrlEntry 1 }

cwrHistClass OBJECT-TYPE
    SYNTAX          CwrRadioSignalAttribute
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the attribute that is being histogrammed."
    ::= { cwrHistCtrlEntry 2 }

cwrRfResourceId OBJECT-TYPE
    SYNTAX          CwrRFZeroIndex
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object identifies the RF resource for which this histogram
            specification applies. If this is 0, the agent will automatically
            use the most logical value for the specified cwrHistClass. If 0 has
            been specified then on reading this object the agent will return the
            RF resource id for which the histogram is being captured."
    ::= { cwrHistCtrlEntry 3 }

cwrDspNumber OBJECT-TYPE
    SYNTAX          INTEGER (0..8)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object identifies the DSP on which to create the histogram.
            If 0 is specified then the agent will automatically use the most
            logical DSP for the specified cwrHistClass parameter.
            If 0 has been specified then on reading this object the agent will
            return the DSP number that is being used to capture this histogram."
    ::= { cwrHistCtrlEntry 4 }

cwrStartBinValue OBJECT-TYPE
    SYNTAX          Integer32 (-2147483647..2147483647)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the maximum of the values that will be
            collected in the first bin of the histogram.
            All values < cwrStartBinValue will be kept in the first 
            histogram bin."
    ::= { cwrHistCtrlEntry 5 }

cwrBinDelta OBJECT-TYPE
    SYNTAX          Integer32 (2..2147483647)
    UNITS           "Powers of 2"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the range of values of the sampled data that
            should be accounted for in one histogram bin. For example all data
            samples between x..y (where y = x + cwrBinDelta - 1), will be
            counted and placed in the same bin."
    ::= { cwrHistCtrlEntry 6 }

cwrNumHistBins OBJECT-TYPE
    SYNTAX          Integer32 (1..508)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents total number of bins to be created for the
            histogram."
    ::= { cwrHistCtrlEntry 7 }

cwrUpdateRate OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents rate at which snapshots of the histogram 
            will be available."
    ::= { cwrHistCtrlEntry 8 }

cwrCollDuration OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "seconds"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object specifies the duration for which this histogram must
            be accumulated. After successfully accumulating data for this amount
            of time the collection stops and the cwrHistStatus changes
            to statusCaptured."
    ::= { cwrHistCtrlEntry 9 }

cwrOwnerId OBJECT-TYPE
    SYNTAX          OwnerString
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object identifies management station that created this
            histogram specification."
    ::= { cwrHistCtrlEntry 10 }

cwrHistBitShift OBJECT-TYPE
    SYNTAX          INTEGER (0..32)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the number of bits by which the signal count
            is right shifted before it is stored in the histogram bin.
            This provides a mechanism to uniformly scale the collected histogram
            to account for overflows."
    ::= { cwrHistCtrlEntry 11 }

cwrHistToneSelection OBJECT-TYPE
    SYNTAX          INTEGER {
                        cwrCirculate(1),
                        cwrAverage(2),
                        cwrSpecific(3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object identifies which tone in a burst should be sampled for
            capturing the data.
            cwrCirculate(1):
                The successive tones will be used for every successive burst.
            cwrAverage(2):
                The value of every tone in a burst will be averaged.
            cwrspecific(3):
                The identified tone is used."
    DEFVAL          { cwrAverage }
    ::= { cwrHistCtrlEntry 12 }

cwrHistToneValue OBJECT-TYPE
    SYNTAX          Integer32 (0..216)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "If cwrHistToneSelection is cwrSpecificTone then this object
            identifies tone that should be used for sampling."
    ::= { cwrHistCtrlEntry 13 }

cwrHistAction OBJECT-TYPE
    SYNTAX          CwrCollectionAction
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the action to be carried out on this
            histogram specification. If a histogram has been successfully
            captured then it must be cleared before an other capture
            may be initiated."
    ::= { cwrHistCtrlEntry 14 }

cwrHistStatus OBJECT-TYPE
    SYNTAX          CwrCollectionStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the current state of this histogram 
            collection.
            Once the histogram collection is complete the status changes
            statusCaptured and the data is available for use.
            None of the parameters of a histogram specification may be 
            modified when the specification is in statusInProgress.
            A statusCaptured or statusStopped histogram must be actionClear'ed
            before another histogram specification may be started.
            The histogram may be read accurately between the cwrUpdateRate
            intervals. If the read spans across the update time data from the
            previous and current updates can be mingled."
    ::= { cwrHistCtrlEntry 15 }

cwrHistRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object may be used to create or delete a histogram control
            specification."
    ::= { cwrHistCtrlEntry 16 }

cwrHistPeriodicSum OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "The histogram data is updated every cwrUpdateRate seconds.
            When this object is set to true(1), the latest histogram data set 
            is summed with the previous histogram data set and the 
            cwrHistSummaryTable will reflect cumulative values.
            When set to false(2), only the latest data set is made available
            and the cwrHistSummarytable will reflect the latest values."
    ::= { cwrHistCtrlEntry 17 }

-- The Histogram Summary Table. This table contains summary Data
-- about the histograms collected as per the specifications in the
-- cwrHistCtrlTable.
cwrHistSummaryTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrHistSummaryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains histogram Summary collected based on the
            specifications in the cwrHistCtrlTable."
    ::= { cwrRadioHistoryGroup 2 }

cwrHistSummaryEntry OBJECT-TYPE
    SYNTAX          CwrHistSummaryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrHistSummaryTable.
            It is indexed by the ifIndex and cwrHistIndex."
    INDEX           {
                        ifIndex,
                        cwrHistIndex
                    }
    ::= { cwrHistSummaryTable 1 }

CwrHistSummaryEntry ::= SEQUENCE {
    cwrHistUpdateTime   Integer32,
    cwrHistMin          Integer32,
    cwrHistMax          Integer32,
    cwrHistMean         Integer32
}

cwrHistUpdateTime OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the time in seconds since power up when
            this histogram snapshot was retrieved from the hardware."
    ::= { cwrHistSummaryEntry 1 }

cwrHistMin OBJECT-TYPE
    SYNTAX          Integer32 (-2147483648..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the minimum value of the data sample seen 
            for this histogram."
    ::= { cwrHistSummaryEntry 2 }

cwrHistMax OBJECT-TYPE
    SYNTAX          Integer32 (-2147483648..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the maximum value of the data sample seen 
            for this histogram."
    ::= { cwrHistSummaryEntry 3 }

cwrHistMean OBJECT-TYPE
    SYNTAX          Integer32 (-2147483648..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the arithemetic mean of the data sample 
            values for this histogram."
    ::= { cwrHistSummaryEntry 4 }

-- The Histogram Data Table. This table contains the Data
-- about the histograms collected as per the specifications in the
-- cwrHistCtrlTable.
cwrHistDataTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrHistDataEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains histogram values collected based on the
            specifications in the cwrHistCtrlTable."
    ::= { cwrRadioHistoryGroup 3 }

cwrHistDataEntry OBJECT-TYPE
    SYNTAX          CwrHistDataEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrHistDataTable. It is 
            indexed by the ifIndex and cwrHistIndex and cwrHistBinIndex."
    INDEX           {
                        ifIndex,
                        cwrHistIndex,
                        cwrHistBinIndex
                    }
    ::= { cwrHistDataTable 1 }

CwrHistDataEntry ::= SEQUENCE {
    cwrHistBinIndex     INTEGER,
    cwrValue            Integer32
}

cwrHistBinIndex OBJECT-TYPE
    SYNTAX          INTEGER (1..508)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This object represents the histogram bin number for the value
            in cwrValue."
    ::= { cwrHistDataEntry 1 }

cwrValue OBJECT-TYPE
    SYNTAX          Integer32 (0..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the value in the histogram bin
            cwrHistBinIndex."
    ::= { cwrHistDataEntry 2 }

-- The Radio Timeline Group. This group is optional.

-- This group includes the following tables:
-- cwrThresholdTable, cwrTlCtrlTable, cwrTlSummaryTable and cwrTlDataTable.

-- This group provides facilities to define thresholds and capture raw
-- radio signal data.



-- The Threshold table.
cwrThresholdTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrThresholdEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table provides facilities to establish thresholds for the 
            radio signals analyzed on the radio interface. A threshold 
            identified in this table may be used to trigger a timeline 
            capture in the cwrTlTable."
    ::= { cwrRadioTimelineGroup 1 }

cwrThresholdEntry OBJECT-TYPE
    SYNTAX          CwrThresholdEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrThresholdTable."
    INDEX           {
                        ifIndex,
                        cwrThreshIndex
                    }
    ::= { cwrThresholdTable 1 }

CwrThresholdEntry ::= SEQUENCE {
    cwrThreshIndex           Integer32,
    cwrThreshAttribute       CwrRadioSignalAttribute,
    cwrThreshType            CwrThreshLimitType,
    cwrThreshAntId           CwrRFZeroIndex,
    cwrThreshValue           Integer32,
    cwrThreshHysteresisTime  TimeInterval,
    cwrThreshLimitTime       TimeInterval,
    cwrThreshDspNum          INTEGER,
    cwrThreshRowStatus       RowStatus
}

cwrThreshIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This object, along with ifIndex, identifies this entry."
    ::= { cwrThresholdEntry 1 }

cwrThreshAttribute OBJECT-TYPE
    SYNTAX          CwrRadioSignalAttribute
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This represents the attribute of a radio link which needs to be
            thresholded. For each of these attributes, the cwrThreshType 
            identifies the type of change to monitor. When that threshold 
            is exceeded a Trap with appropriate parameters will be generated."
    ::= { cwrThresholdEntry 2 }

cwrThreshType OBJECT-TYPE
    SYNTAX          CwrThreshLimitType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the kind of change that needs to be 
            monitored for the cwrThreshAttribute. An event is 
            generated when the following condition is met."
    ::= { cwrThresholdEntry 3 }

cwrThreshAntId OBJECT-TYPE
    SYNTAX          CwrRFZeroIndex
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object identifies the RF resource for which this threshold
            should be defined."
    ::= { cwrThresholdEntry 4 }

cwrThreshValue OBJECT-TYPE
    SYNTAX          Integer32 (-2147483647..2147483647)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the value to be compared against. The
            cwrThreshType determines the way in which it is used.
            It is used as follows:
            if cwrThreshType is ..
            highThresh : Notify if data sample exceeds the cwrThreshValue.
            lowThresh  : Notify if data sample recedes below the cwrThreshValue.
            upChange   : Notify if data sample increases by more than
                     cwrThreshValue.
            downChange : Notify if data sample decreases by more than
                     cwrThreshValue.
            upLimit    : Notify if data sample crosses cwrThreshValue while
                     increasing in value.
            lowLimit   : Notify if data sample crosses cwrThreshValue while
                     decreasing in value."
    ::= { cwrThresholdEntry 5 }

cwrThreshHysteresisTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "When radio signals oscillate around threshold values, they 
            potentially flood the system with notifications. This object 
            specifies the amount of time to wait before sending an 
            identical notification if the oscillations continue.  
            Notifications are not generated due to any
            threshold value which is reached/exceeded/crossed/etc. during this
            wait time"
    ::= { cwrThresholdEntry 6 }

cwrThreshLimitTime OBJECT-TYPE
    SYNTAX          TimeInterval
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object specifies the amount of time for which the radio signal
            should stabilize before a trap is sent to indicate that the radio
            signal has stabilized."
    ::= { cwrThresholdEntry 7 }

cwrThreshDspNum OBJECT-TYPE
    SYNTAX          INTEGER (1..8)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object indicates the DSP used to monitor this threshold."
    ::= { cwrThresholdEntry 8 }

cwrThreshRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the status of this threshold entry. It 
            may be used to create a new threshold specification.
            For every cwrThreshAttrClass one threshold of cwrThreshType on one
            DSP may be created."
    ::= { cwrThresholdEntry 9 }

-- Radio Timeline.
-- A radio timeline is raw radio signal data, that is captured based on the
-- specifications.
cwrTlCtrlTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrTlCtrlEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains information about timelines configured in
            hardware. The number of data values captured for each timeline
            is configured by setting the variable cwrTlNumDataValues. 
            The captured data values can be retreived by reading the 
            cwrTlDataTable."
    ::= { cwrRadioTimelineGroup 2 }

cwrTlCtrlEntry OBJECT-TYPE
    SYNTAX          CwrTlCtrlEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrTlCtrlTable.
            It is indexed by the ifIndex, cwrTlClass, cwrRfResourceId,
            cwrTlDspNum."
    INDEX           {
                        ifIndex,
                        cwrTlIndex
                    }
    ::= { cwrTlCtrlTable 1 }

CwrTlCtrlEntry ::= SEQUENCE {
    cwrTlIndex             Integer32,
    cwrTlClass             CwrRadioSignalAttribute,
    cwrTlRfResourceId      CwrRFZeroIndex,
    cwrTlDspNum            INTEGER,
    cwrTlNumDataValues     INTEGER,
    cwrTlDecimationFactor  Integer32,
    cwrTlPreSumShift       Integer32,
    cwrTlToneSelection     INTEGER,
    cwrTlToneValue         Integer32,
    cwrTlThreshIndex       Integer32,
    cwrTlAction            CwrCollectionAction,
    cwrTlStatus            CwrCollectionStatus,
    cwrTlPostTrigBufMgmt   INTEGER,
    cwrTlRowStatus         RowStatus
}

cwrTlIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This object, along with ifIndex, is the index into this table
            and represents one entry in the table. The entry in this table 
            for which cwrTlIndex = x is associated with the entry in
            cwrTlSummaryTable and the entry in cwrTlDataTable for 
            which the index variable in those tables has the same value, x."
    ::= { cwrTlCtrlEntry 1 }

cwrTlClass OBJECT-TYPE
    SYNTAX          CwrRadioSignalAttribute
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the attribute for which a timline capture
            is requested. 
            When a timeline is requested, cwrTlNumDataValues worth of data 
            will be captured."
    ::= { cwrTlCtrlEntry 2 }

cwrTlRfResourceId OBJECT-TYPE
    SYNTAX          CwrRFZeroIndex
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object identifies the RF resource for which this timeline
            specification applies. 
            If this is 0 then the agent will automatically the most logical
            value for the specified cwrHistClass. If 0 has been specified
            then on reading this object the agent will return the
            RF resource id for which the timeline is being captured."
    ::= { cwrTlCtrlEntry 3 }

cwrTlDspNum OBJECT-TYPE
    SYNTAX          INTEGER (0..8)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object identifies the DSP on which this timeline needs to be
            captures.
            If 0 is specified then the agent will automatically use the most
            logical DSP for the specified cwrTlClass parameter.
            If 0 has been specified on create then on reading this object the
            agent will return the DSP number that is being used to capture
            this timeline."
    ::= { cwrTlCtrlEntry 4 }

cwrTlNumDataValues OBJECT-TYPE
    SYNTAX          INTEGER (1..2147483647)
    UNITS           "number of data values"
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object indicates the number of data values to be captured for
            this timeline.  The captured data can be viewed by reading the 
            cwrTlDataTable."
    ::= { cwrTlCtrlEntry 5 }

cwrTlDecimationFactor OBJECT-TYPE
    SYNTAX          Integer32 (0..2147483647)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the number of successive data samples to be
            added and returned. This enables larger data sets to be captured 
            even with limited cwrTlNumDataValues."
    ::= { cwrTlCtrlEntry 6 }

cwrTlPreSumShift OBJECT-TYPE
    SYNTAX          Integer32 (0..32)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the number of bits by which the raw data
            data should be right shifted before applying cwrTlDecimationFactor.
            This provides a mechanims of controlling overflow due to summation."
    ::= { cwrTlCtrlEntry 7 }

cwrTlToneSelection OBJECT-TYPE
    SYNTAX          INTEGER {
                        cwrCirculate(1),
                        cwrAverage(2),
                        cwrSpecific(3)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object identifies which tone in a burst should be used to
            sample data for the timeline. 
            cwrCirculate(1):
                The successive tone will be used for every successive burst.
            cwrAverage(2):
                The value of every tone in a burst will be averaged.
            cwrspecific(3):
                The identified tone is used.
                DEFVAL { cwrAverage }"
    ::= { cwrTlCtrlEntry 8 }

cwrTlToneValue OBJECT-TYPE
    SYNTAX          Integer32 (0..216)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "If cwrTlToneSelection is cwrSpecificTone then this object
            identifies the tone that should be used for sampling."
    ::= { cwrTlCtrlEntry 9 }

cwrTlThreshIndex OBJECT-TYPE
    SYNTAX          Integer32 (0..2147483647)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object specifies the index of the threshold that when 
            triggered will start the data capture for this timeline.

            For a timeline data capture to be triggered by a threshold,
            the threshold must be defined on the same DSP as the timeline.

            If cwrTlThreshIndex is 0 then there is no threshold associated
            with this timeline and the data samples are captured and returned
            immediately. If cwrTlThresIndex is not 0, then the data samples
            are captured when the threshold fires."
    ::= { cwrTlCtrlEntry 10 }

cwrTlAction OBJECT-TYPE
    SYNTAX          CwrCollectionAction
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the action to be carried out on this
            timeline specification. If a timeline has been successfully
            captured then it must be cleared before an other capture
            may be initiated."
    ::= { cwrTlCtrlEntry 11 }

cwrTlStatus OBJECT-TYPE
    SYNTAX          CwrCollectionStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the current state of this timeline 
            collection.
            Once the timeline collection is complete the status changes
            statusCaptured and the data is available for use.
            None of the parameters of a timeline specification may be modified 
            when the specification is in statusInProgress.
            A statusCaptured or statusStopped histogram must be actionClear'ed
            before another timeline specification may be started."
    ::= { cwrTlCtrlEntry 12 }

cwrTlPostTrigBufMgmt OBJECT-TYPE
    SYNTAX          INTEGER {
                        preTrigger(1),
                        postTrigger(2)
                    }
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "Once a trigger fires, this object determines which portion of the
            collected data to capture for use. If it is:
            preTrigger(1) : Then most of the data collected prior to trigger
                    is captured.
            postTrigger(2): Then most of the data collected after the trigger
                    is captured."
    ::= { cwrTlCtrlEntry 13 }

cwrTlRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object may be used to create or delete a timeline control
            specification.

            Once created data sampling starts based on the value of 
            cwrTlAction. The data capture depends on the value of
            cwrTlThreshIndex.
            The actual data is collected based on the cwrTlThreshIndex,
            if cwrTlThreshIndex is 0 then there is no stop trigger associated
            with this timeline and the data samples are captured and returned
            immediately. If cwrTlThresIndex is not 0, then the data samples
            are captured when the threshold fires."
    ::= { cwrTlCtrlEntry 14 }

-- The Timeline Summary Table. This table contains summary Data
-- about the timeline collected as per the specifications in the
-- cwrTlCtrlTable.
cwrTlSummaryTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrTlSummaryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains Timeline Summary collected based on the
            specifications in the cwrTlCtrlTable."
    ::= { cwrRadioTimelineGroup 3 }

cwrTlSummaryEntry OBJECT-TYPE
    SYNTAX          CwrTlSummaryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrTlSummaryTable.
            It is indexed by the ifIndex and cwrTlIndex."
    INDEX           {
                        ifIndex,
                        cwrTlIndex
                    }
    ::= { cwrTlSummaryTable 1 }

CwrTlSummaryEntry ::= SEQUENCE {
    cwrTlUpdateTime     Integer32,
    cwrTlNumValues      Integer32,
    cwrTlTriggerLoc     Integer32
}

cwrTlUpdateTime OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    UNITS           "seconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the time in seconds since power up when
            this timeline capture was completed."
    ::= { cwrTlSummaryEntry 1 }

cwrTlNumValues OBJECT-TYPE
    SYNTAX          Integer32 (0..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of values available in the 
            timeline."
    ::= { cwrTlSummaryEntry 2 }

cwrTlTriggerLoc OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object contains the value of cwrTlValueIndex which represents
            the entry in the cwrTlDataTable that caused the stop trigger to 
            fire, thereby resulting in this timeline to be collected."
    ::= { cwrTlSummaryEntry 3 }

-- The Timeline Data Table. This table contains the Data
-- about the timelines collected as per the specifications in the
-- cwrTlCtrlTable.
cwrTlDataTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrTlDataEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains data values collected for the timelines
            specified in the cwrTlCtrlTable.  The number of data values 
            displayed for each timeline is determined by the value specified
            for cwrTlNumDataValues in cwrTlCtrlTable."
    ::= { cwrRadioTimelineGroup 4 }

cwrTlDataEntry OBJECT-TYPE
    SYNTAX          CwrTlDataEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrTlDataTable. It is indexed by
            ifIndex, cwrTlIndex, and cwrTlValueIndex."
    INDEX           {
                        ifIndex,
                        cwrTlIndex,
                        cwrTlValueIndex
                    }
    ::= { cwrTlDataTable 1 }

CwrTlDataEntry ::= SEQUENCE {
    cwrTlValueIndex     INTEGER,
    cwrTlValue          Integer32
}

cwrTlValueIndex OBJECT-TYPE
    SYNTAX          INTEGER (1..2147483647)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This object, along with ifIndex and cwrTlIndex,  is the index
            into the timeline data table."
    ::= { cwrTlDataEntry 1 }

cwrTlValue OBJECT-TYPE
    SYNTAX          Integer32 (-2147483648..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the radio signal data sampled."
    ::= { cwrTlDataEntry 2 }

-- Snapshot Group: This group is optional.

-- This group provides facilities to capture raw radio signal attributes.
-- The key difference between this group and the Timeline Group is that
-- this group provides facilities to capture up to 4 synchronized
-- signal attributes simultaneously. The capture initiated by a single
-- user controlled trigger.

-- In this group many of the attributes are represented by complex numbers
-- Each such attribute is indicated as value(I, q).
cwrSnapshotCtrlTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrSnapshotCtrlEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains information about the snapshots configured in
            hardware. When data is collected it will be stored in
            cwrSnapDataTable."
    ::= { cwrRadioSnapshotGroup 1 }

cwrSnapshotCtrlEntry OBJECT-TYPE
    SYNTAX          CwrSnapshotCtrlEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrSnapshotCtrlTable
            It is indexed by the ifIndex and cwrSnapshotDspNum."
    INDEX           {
                        ifIndex,
                        cwrSnapshotDspNum
                    }
    ::= { cwrSnapshotCtrlTable 1 }

CwrSnapshotCtrlEntry ::= SEQUENCE {
    cwrSnapshotDspNum     INTEGER,
    cwrSnapshotType       Integer32,
    cwrSnapshotAction     CwrCollectionAction,
    cwrSnapshotStatus     CwrCollectionStatus,
    cwrSnapshotRowStatus  RowStatus
}

cwrSnapshotDspNum OBJECT-TYPE
    SYNTAX          INTEGER (1..8)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This object represents the DSP at which the snapshot needs to
            be collected."
    ::= { cwrSnapshotCtrlEntry 1 }

cwrSnapshotType OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the attribute that is being snapshoted by
            the hardware. When a snapshot request is issued up to 4 simultaneous
            radio signal attribute may be captured at once. 
            The 4 attributes are specified by bit OR'ing the snapshot types
            identified below. When a snapshot specification
            is started all the specified attributes are captured simultaneously.

            The TX and RX types cannot be mixed. RX, Sync types can be mixed.

            When a snapshot request is issued up to four radio signal attributes
            may be requested at once, one from each set:
            ===============================================
            Type   Set1               Set2              
            ===============================================
            RX     y1n(x1)            y2n(x2)           
                   H2k(x80)           H1k(x40)          
                   -                  -                 
            Sync   -                  FreqCorr(x8000)   
                   -                  FLL_FFT_Sp(x20000)
            TX     CodecIn(x200)      IFFTIn(x400)      
            ===============================================

            ===============================================
            Type   Set3                Set4
            ===============================================
            RX     Y2k(x8)             Y1k(x4)
                   h1n(x10)            h2n(x20)
                   zhat(x100)          -
            Sync   FreqOffCF(x2000)(*) BrstTimeCF(x1000)(*)
                   -                   TT_FCorr(x10000)
            TX     -                   RoundOut(x800)
            ===============================================

            (*)  BrstTimeCF cannot be mixed with Set2
            (*)  FreqOffCF  cannot be mixed with Set1

            Note that only the Tx* attributes may be captured on DSP's 1, 2.    

            The attributes are:
            RxRawBurstAnt1Y1n(0x01):
                This represents a snapshot of the received signal for RF
                resource 1. For every sample the real and imaginary components
                are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            RxRawBurstAnt2Y2n(0x02):
                This represents a snapshot of the received signal for RF
                resource 2. For every sample the real and imaginary components
                are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            RxSpectrumAnt1Y1k(0x04):
                This represents a snapshot of the spectrum of the received
                signal for RF resource 1. For every sample the real and
                imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            RxSpectrumAnt2Y2k(0x08):
                This represents a snapshot of the spectrum of the received
                signal for RF resource 2. For every sample the real and
                imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            RxTimeDomainChannelAnt1H1n(0x10):
                This represents a snapshot of the time domain channel
                for RF resource 1. For every sample the real and
                imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            RxTimeDomainChannelAnt2H2n(0x20):
                This represents a snapshot of the time domain channel
                for RF resource 2. For every sample the real and
                imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            RxFreqDomainChannelAnt1H1k(0x40):
                This represents a snapshot of the frequency domain channel
                for RF resource 1. For every sample the real and
                imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            RxFreqDomainChannelAnt2H2k(0x80),
                This represents a snapshot of the frequency domain channel
                for RF resource 2. For every sample the real and
                imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            RxConstellationZHatk(0x100):
                This represents a snapshot of the soft decisions.
                For every sample the real and imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            TxCodecInput(0x200):
                This represents a snapshot of input values to the Tx Code.
                Units: Real values.
                Value: 32 bit quantities.

            TxIFFTInput(0x400):
                This represents a snapshot of the IFFT signal for the
                Transmitted data. 
                For every sample the real and imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            TxRoundOutput(0x800):
                This represents a snapshot of the Rounded Constellation signal
                for the Transmitted data. 
                For every sample the real and imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            SyncBurstTimeCostFunc(0x1000):
                This represents the timing cost function for Sync bursts. 
                Units: Real values.
                Value: 32 bit quantities.

            SynFreqOffsetCostFunc(0x2000):
                This represents a snapshot of the frequeny offsets.
                For every sample the real and imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            SyncFllFreqCorrelation(0x8000):
                This represents a snapshot of Frequency correlation.
                For every sample the real and imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            SyncFllTrainToneCorrelation(0x10000):
                This represents a snapshot of Frequency locked loop's Training
                tone correlation.
                For every sample the real and imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities.

            SyncFllFFTSpectrum(0x20000):
                This represents a snapshot of Frequency locked loop, FFT
                Spectrum.
                For every sample the real and imaginary components are captured.
                Units: (I, q)
                Value: 32 bit quantities."
    ::= { cwrSnapshotCtrlEntry 2 }

cwrSnapshotAction OBJECT-TYPE
    SYNTAX          CwrCollectionAction
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object represents the action to be carried out on this
            snapshot specification. If a snapshot has been successfully
            captured then it must be cleared before an other capture
            may be initiated."
    ::= { cwrSnapshotCtrlEntry 3 }

cwrSnapshotStatus OBJECT-TYPE
    SYNTAX          CwrCollectionStatus
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the current status of this snapshot
            specification. When the status in statusInProgress none of the
            snapshot parameters can be configured. When the status is 
            statusCaptured then data is available for use."
    ::= { cwrSnapshotCtrlEntry 4 }

cwrSnapshotRowStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
            "This object may be used to create or delete this snapshot
            specification."
    ::= { cwrSnapshotCtrlEntry 5 }

-- The Snapshot Summary Table. This table contains summary information
-- for the data captured by a snapshot specification
-- about the snapshots collected as per the specifications in the
-- cwrSnapshotCtrlTable.
cwrSnapSummaryTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrSnapSummaryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains summary information for captured snapshots
            defined in cwrSnapshotCtrlTable."
    ::= { cwrRadioSnapshotGroup 2 }

cwrSnapSummaryEntry OBJECT-TYPE
    SYNTAX          CwrSnapSummaryEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrSnapSummaryTable. It is indexed
            by the ifIndex and cwrSnapDspNum."
    INDEX           {
                        ifIndex,
                        cwrSnapshotDspNum
                    }
    ::= { cwrSnapSummaryTable 1 }

CwrSnapSummaryEntry ::= SEQUENCE {
    cwrSnapAttr1Id      Integer32,
    cwrSnapAttr1Size    Integer32,
    cwrSnapAttr2Id      Integer32,
    cwrSnapAttr2Size    Integer32,
    cwrSnapAttr3Id      Integer32,
    cwrSnapAttr3Size    Integer32,
    cwrSnapAttr4Id      Integer32,
    cwrSnapAttr4Size    Integer32
}

cwrSnapAttr1Id OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the first snapshot attribute value."
    ::= { cwrSnapSummaryEntry 2 }

cwrSnapAttr1Size OBJECT-TYPE
    SYNTAX          Integer32 (0..4096)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of values captured for the 
            snapshot cwrSnapAttr1Id."
    ::= { cwrSnapSummaryEntry 3 }

cwrSnapAttr2Id OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the second snapshot attribute value."
    ::= { cwrSnapSummaryEntry 4 }

cwrSnapAttr2Size OBJECT-TYPE
    SYNTAX          Integer32 (0..4096)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of values captured for the 
            snapshot cwrSnapAttr2Id."
    ::= { cwrSnapSummaryEntry 5 }

cwrSnapAttr3Id OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the third snapshot attribute value."
    ::= { cwrSnapSummaryEntry 6 }

cwrSnapAttr3Size OBJECT-TYPE
    SYNTAX          Integer32 (0..4096)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of values captured for the 
            snapshot cwrSnapAttr3Id."
    ::= { cwrSnapSummaryEntry 7 }

cwrSnapAttr4Id OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the third snapshot attribute value."
    ::= { cwrSnapSummaryEntry 8 }

cwrSnapAttr4Size OBJECT-TYPE
    SYNTAX          Integer32 (0..4096)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "This object represents the number of values captured for the 
            snapshot cwrSnapAttr4Id."
    ::= { cwrSnapSummaryEntry 9 }

-- The Snapshot Data Table. This table contains the Data
-- about the snapshots collected as per the specifications in the
-- cwrSnapshotCtrlTable.
cwrSnapDataTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrSnapDataEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains snapshot values collected based on the
            specifications in the cwrSnapshotCtrlTable."
    ::= { cwrRadioSnapshotGroup 3 }

cwrSnapDataEntry OBJECT-TYPE
    SYNTAX          CwrSnapDataEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrSnapDataTable. It is indexed 
            by the ifIndex and cwrSnapValueIndex. 

            The values in this table represent real numbers or complex numbers.
            If they are real numbers then cwrRealPart contains the data and
            cwrImaginaryPart is zero."
    INDEX           {
                        ifIndex,
                        cwrSnapshotDspNum,
                        cwrSnapValueIndex
                    }
    ::= { cwrSnapDataTable 1 }

CwrSnapDataEntry ::= SEQUENCE {
    cwrSnapValueIndex   INTEGER,
    cwrRealPart         Integer32,
    cwrImaginaryPart    Integer32
}

cwrSnapValueIndex OBJECT-TYPE
    SYNTAX          INTEGER (1..4096)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This object represents the snapshot entry index number."
    ::= { cwrSnapDataEntry 1 }

cwrRealPart OBJECT-TYPE
    SYNTAX          Integer32 (-2147483648..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION     "The data sample value. Real part."
    ::= { cwrSnapDataEntry 2 }

cwrImaginaryPart OBJECT-TYPE
    SYNTAX          Integer32 (-2147483648..2147483647)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The data sample value. Imaginary part if the attribute is 
            represented by a complex number."
    ::= { cwrSnapDataEntry 3 }

-- The Antenna Group - This group is optional.



-- The Antenna Table. This table contains information about the
-- antennas available in the router.
cwrAntennaTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrAntennaEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table contains information about the antenns available for
            use."
    ::= { cwrRadioAntennaGroup 1 }

cwrAntennaEntry OBJECT-TYPE
    SYNTAX          CwrAntennaEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This represents one entry in the cwrAntennaTable. This table 
            provides details on the antennas available for use on the local 
            system. It is indexed by cwrAntennaIndex."
    INDEX           { cwrAntennaIndex }
    ::= { cwrAntennaTable 1 }

CwrAntennaEntry ::= SEQUENCE {
    cwrAntennaIndex         Integer32,
    cwrAntennaXDim          Integer32,
    cwrAntennaYDim          Integer32,
    cwrAntennaType          DisplayString,
    cwrAntennaDescr         DisplayString,
    cwrAntennaGain          Integer32,
    cwrAntennaPolarization  INTEGER
}

cwrAntennaIndex OBJECT-TYPE
    SYNTAX          Integer32 (1..16)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This object represents the index of this entry in the 
            cwrAntennaTable."
    ::= { cwrAntennaEntry 1 }

cwrAntennaXDim OBJECT-TYPE
    SYNTAX          Integer32 (1..96)
    UNITS           "Inches"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the dimension of the antenna in the
            X direction."
    ::= { cwrAntennaEntry 2 }

cwrAntennaYDim OBJECT-TYPE
    SYNTAX          Integer32 (1..96)
    UNITS           "Inches"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the dimension of the antenna in the
            Y direction."
    ::= { cwrAntennaEntry 3 }

cwrAntennaType OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..64))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents antenna type for example 'dish-antenna'."
    ::= { cwrAntennaEntry 4 }

cwrAntennaDescr OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..64))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "This object describes the antenna."
    ::= { cwrAntennaEntry 5 }

cwrAntennaGain OBJECT-TYPE
    SYNTAX          Integer32 (0..60)
    UNITS           "dBi : decibel Isotropic"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "This object represents the gain of this antenna."
    ::= { cwrAntennaEntry 6 }

cwrAntennaPolarization OBJECT-TYPE
    SYNTAX          INTEGER {
                        vertical(1),
                        horizontal(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the electrirc polarization of the antanna."
    ::= { cwrAntennaEntry 7 }

-- The Test table.
-- This table provides facilities to test the wireless hardware.
cwrTestGroup OBJECT IDENTIFIER
    ::= { cwrRadioInternal 1 }

cwrLoopbackTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrLoopbackEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table provides facilities to establish loopback points in the
            radio hardware to exercise various sections of the hardware."
    ::= { cwrTestGroup 1 }

cwrLoopbackEntry OBJECT-TYPE
    SYNTAX          CwrLoopbackEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "There exists one such entry for every interface in the ifTable 
            which has an ifType of propWirelessP2P(157)."
    INDEX           { ifIndex }
    ::= { cwrLoopbackTable 1 }

CwrLoopbackEntry ::= SEQUENCE {
    cwrLocalLoopbackPoint  INTEGER
}

cwrLocalLoopbackPoint OBJECT-TYPE
    SYNTAX          INTEGER {
                        none(0),
                        codec(1),
                        framer(2),
                        fir(3),
                        if(4),
                        rf(5),
                        rfDiversity(6),
                        ifMain(7),
                        ifDiversity(8)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This object represents the point in the system where the data 
            signal is looped back.

            none(0)         - no loopback
            codec(1)        - loopback at the Encoder/Decoder module. 
                              This exercises the framer, and codec modules
            framer(2)       - loopback at the 'framer' module.
            fir(3)          - loopback at the 'Finite Impulse Response' module.
                              This exercises the framer, codec, and FIR modules.
            if(4)           - loopback at the 'Internal Frequency' module using
                              both the main and the diversity receive paths.
                              This exercises the framer, codec, FIR, and 
                              IF modules.
            rf(5)           - loopback at the main RF unit via the main receive
                              path in the IF module. This exercises the framer,
                              codec, FIR, IF, and RF modules.
            rfDiversity(6)  - loopback at the main RF unit but route it through
                              the diversity receive path in the IF module. This 
                              exercises the framer, codec, FIR, IF, and RF 
                              modules.
            ifMain(7)       - loopack at the IF module using only the Main 
                              receive path.  This exercises the framer, codec, 
                              FIR, and IF modules.
            ifDiversity(8)  - loopack at the IF module using only the diversity
                              receive path.  This exercises the framer, codec, 
                              FIR, and IF modules."
    ::= { cwrLoopbackEntry 1 }

cwrScopePortTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrScopePortEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table provides facilities to redirect a portion of the signal
            being processed by a DSP to a scope port on the radio. An
            oscilloscope may be connected to the scope port to analyze the 
            signal."
    ::= { cwrTestGroup 2 }

cwrScopePortEntry OBJECT-TYPE
    SYNTAX          CwrScopePortEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "There exists one such entry for every interface in the ifTable 
            which has an ifType of propWirelessP2P(157)."
    INDEX           { ifIndex }
    ::= { cwrScopePortTable 1 }

CwrScopePortEntry ::= SEQUENCE {
    cwrScopePortOn         TruthValue,
    cwrScopePortDsp        INTEGER,
    cwrScopePortAttribute  Integer32
}

cwrScopePortOn OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "If set to true(1), then the DSP identified by cwrScopePortDsp, will
            redirect a portion of the output signal for the attribute identified
            by cwrScopeAttribute to the scope port."
    ::= { cwrScopePortEntry 1 }

cwrScopePortDsp OBJECT-TYPE
    SYNTAX          INTEGER (1..8)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This identifies the DSP that should redirect a portion of the
            signal data to the scope port."
    ::= { cwrScopePortEntry 2 }

cwrScopePortAttribute OBJECT-TYPE
    SYNTAX          Integer32 (1..2147483647)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
            "This represents the attribute to be redirected to the scope port.
            The attributes that may be redirected to scope port is the same
            as that identified in cwrSnapshotType."
    ::= { cwrScopePortEntry 3 }

-- Trap Group
cwrRadioTrapTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CwrRadioTrapEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
            "This table provides information about the last trap that was
            generated on this interface."
    ::= { cwrRadioLatestTrap 1 }

cwrRadioTrapEntry OBJECT-TYPE
    SYNTAX          CwrRadioTrapEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION     "This represents one entry in this table."
    INDEX           { ifIndex }
    ::= { cwrRadioTrapTable 1 }

CwrRadioTrapEntry ::= SEQUENCE {
    cwrTrapReason       DisplayString
}

cwrTrapReason OBJECT-TYPE
    SYNTAX          DisplayString (SIZE (0..255))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
            "The explanation string for the event trap cwrEventId."
    ::= { cwrRadioTrapEntry 1 }

-- The following traps are generated by the radio system. These traps are not
-- in response to any threshold specification that might have been defined.
cwrTrapConfigMismatch NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrTrapReason
                    }
    STATUS          current
    DESCRIPTION
            "The radio subsystem has detected that the combination of the
            configuration parameters that has been requested is inconsistent
            and cannot be supported.
            The cwrTrapReason is the textual description of what parameter 
            causes the mismatch."
    ::= { cwrRadioDevTraps 1 }

cwrTrapInitFailure NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrTrapReason
                    }
    STATUS          current
    DESCRIPTION
            "The radio subsystem has failed to initialize the hardware 
            successfully.
            This implies that there is a critical error condition in the 
            associated hardware. The cwrTrapReason specifies the reason 
            the init failed."
    ::= { cwrRadioDevTraps 2 }

cwrTrapLinkQuality NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrTrapReason
                    }
    STATUS          current
    DESCRIPTION
            "The radio subsystem has detected a significant change in
            the radio link quality. The cwrTrapReason will describe
            the quality."
    ::= { cwrRadioDevTraps 3 }

cwrTrapLinkSyncLost NOTIFICATION-TYPE
    OBJECTS         { ifIndex }
    STATUS          current
    DESCRIPTION
            "The radio link has lost synchronization with the remote end."
    ::= { cwrRadioDevTraps 4 }

cwrTrapLinkSyncAcquired NOTIFICATION-TYPE
    OBJECTS         { ifIndex }
    STATUS          current
    DESCRIPTION
            "The radio link has acquired synchronization with the remote end."
    ::= { cwrRadioDevTraps 5 }

cwrTrapIfRxOsc NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrIfRxOscState
                    }
    STATUS          current
    DESCRIPTION
            "The IF receive frequency oscillator has changed state."
    ::= { cwrRadioDevTraps 6 }

cwrTrapIfTxOsc NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrIfTxOscState
                    }
    STATUS          current
    DESCRIPTION
            "The IF transmit frequency oscillator has changed state."
    ::= { cwrRadioDevTraps 7 }

cwrTrapIfRefOsc NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrIfRefOscState
                    }
    STATUS          current
    DESCRIPTION
            "The IF Reference Frequency oscillator has changed state."
    ::= { cwrRadioDevTraps 8 }

cwrTrapRfSupplyVoltage NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrRfSupplyVoltageState
                    }
    STATUS          current
    DESCRIPTION
            "The supply voltage to the RF resource has changed.
            The cwrRfSupplyVoltageState specifies whether the supply voltage is
            in spec or not."
    ::= { cwrRadioDevTraps 9 }

cwrTrapRfRxOsc NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrRfRxOscState
                    }
    STATUS          current
    DESCRIPTION
            "The RF receive frequency oscillator has changed state.
            The cwrRfIndex identifies the RF resource that is the cause
            of this trap. The cwrRfRxOscState specifies the
            state of the oscilator."
    ::= { cwrRadioDevTraps 10 }

cwrTrapRfTxOsc NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrRfTxOscState
                    }
    STATUS          current
    DESCRIPTION
            "The RF transmit frequency oscillator has changed state.
            The cwrRfIndex identifies the RF resource    that is the cause
            of this trap. The cwrRfRxOscState specifies the
            state of the oscilator."
    ::= { cwrRadioDevTraps 11 }

cwrTrapRfTemp NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrRfTemperature
                    }
    STATUS          current
    DESCRIPTION
            "The temperature of the RF module identified by cwrRfIndex
            has exceeded a defined reference."
    ::= { cwrRadioDevTraps 12 }

cwrTrapRfStatusChange NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrRfStatus
                    }
    STATUS          current
    DESCRIPTION
            "This trap indicates that the RF resource either
            came online(1) or went offline(2). 
            The cwrRfIndex will identify which resource changed state
            and cwrRfStatus will identify what state it is in."
    ::= { cwrRadioDevTraps 13 }

cwrTrapLink1HrThresh NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrTrapReason
                    }
    STATUS          current
    DESCRIPTION
            "One of cwrLink1HrESAlarmThresh, cwrLink1HrSESAlarmThresh,
            cwrLink1HrCSESAlarmThresh, cwrLink1HrDCMAlarmThresh was
            was exceeded. The cwrTrapReason will identify which
            threshold was exceeded."
    ::= { cwrRadioDevTraps 14 }

cwrTrapLink24HrThresh NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        cwrTrapReason
                    }
    STATUS          current
    DESCRIPTION
            "One of cwrLink24HrESAlarmThresh, cwrLink24HrSESAlarmThresh,
            cwrLink24HrCSESAlarmThresh, cwrLink24HrDCMAlarmThresh was
            was exceeded. The cwrTrapReason will identify which
            threshold was exceeded."
    ::= { cwrRadioDevTraps 15 }

-- The following trap is generated in response to a threshold defined
-- in cwrThreshTable.
cwrTrapThresh NOTIFICATION-TYPE
    OBJECTS         {
                        cwrThreshValue,
                        cwrThreshHysteresisTime,
                        cwrThreshLimitTime
                    }
    STATUS          current
    DESCRIPTION
            "The radio subsystem generates this trap when a threshold crosses
            its specified limit. The parameters identify the following
            cwrThreshValue          - The value that was crossed.
            cwrThreshHysteresisTime - The Hysteresis time that was specified.
            cwrThreshLimitTime      - The Limit time that was specified."
    ::= { cwrRadioThreshTraps 1 }

-- ============================================================================

-- Compliance Statements
cwrRadioIfConformance OBJECT IDENTIFIER
    ::= { ciscoWirelessIfMIB 3 }

cwrRadioIfCompliances OBJECT IDENTIFIER
    ::= { cwrRadioIfConformance 1 }

cwrRadioIfGroups OBJECT IDENTIFIER
    ::= { cwrRadioIfConformance 2 }

cwrRadioBasicCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
            "The compliance statement for devices that Point to Point
            wireless interface compliant to Cisco Systems Inc.
            specification."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cwrComplianceRadioGroup,
                        cwrComplianceRadioPhyQualityGroup,
                        cwrComplianceRadioRfGroup,
                        cwrComplianceReqLinkMetrics,
                        cwrComplianceRadioTestGroup
                    }

    GROUP           cwrComplianceHistoryGroup
    DESCRIPTION
            "The History group may be implemented on both the Radio Master and
            Radio Slave. It is optional."

    GROUP           cwrComplianceRadioTlGroup
    DESCRIPTION
            "The Timeline group may be implemented on both the Radio Master and
            Radio Slave. It is optional."

    GROUP           cwrComplianceRadioSnapshotGroup
    DESCRIPTION
            "The Snapshot group may be implemented on both the Radio Master and
            Radio Slave. It is optional."

    GROUP           cwrComplianceRadioAntennaGroup
    DESCRIPTION
            "This group may be implemented on both the Radio Master and Radio
            Slave. It is optional."

    GROUP           cwrComplianceRadioPhyByteErrGroup
    DESCRIPTION
            "This group may be implemented on both the Radio Master and Radio
            Slave. It is optional."

    GROUP           cwrComplianceNotifGroup
    DESCRIPTION
            "This group of notifications is optional."

    ::= { cwrRadioIfCompliances 1 }

-- The Basic Radio Group.
cwrComplianceRadioGroup OBJECT-GROUP
    OBJECTS         {
                        cwrRadioNextIndex,
                        cwrAcquisitionMode,
                        cwrSelfTest,
                        cwrBasePrivacySupport,
                        cwrTxRfIndex,
                        cwrRx1RfIndex,
                        cwrRx2RfIndex,
                        cwrClockRefExt,
                        cwrAntAlignment,
                        cwrNumRxAntenna,
                        cwrBandwidth,
                        cwrThroughput,
                        cwrOperatingBand,
                        cwrTxFrequency,
                        cwrRxFrequency,
                        cwrTxPower,
                        cwrCableLoss,
                        cwrOpStatus,
                        cwrCableLossDiversity,
                        cwrBurstSize
                    }
    STATUS          current
    DESCRIPTION
            "Group of objects implemented to configure a point to point wireless
            radio.  This includes the cwrBurstSize object."
    ::= { cwrRadioIfGroups 1 }

cwrComplianceRadioPhyQualityGroup OBJECT-GROUP
    OBJECTS         {
                        cwrArqPctBw,
                        cwrArqVoiceLatency,
                        cwrArqDataLatency,
                        cwrArqBurstSize,
                        cwrArqTypicalBitRate,
                        cwrArqMinBitRate,
                        cwrArqMaxLatencyJitter,
                        cwrArqReset,
                        cwrArqOn,
                        cwrTrapReason
                    }
    STATUS          current
    DESCRIPTION
            "Group of objects implemented to tune phy quality in the point to
            point wireless  systems."
    ::= { cwrRadioIfGroups 2 }

cwrComplianceRadioRfGroup OBJECT-GROUP
    OBJECTS         {
                        cwrRfResIndex,
                        cwrRFOpMode,
                        cwrTxFreqRangeMin,
                        cwrTxFreqRangeMax,
                        cwrRxFreqRangeMin,
                        cwrRxFreqRangeMax,
                        cwrMinTxPower,
                        cwrMaxTxPower,
                        cwrRfTxOscState,
                        cwrRfAntIndex,
                        cwrRfRxOscState,
                        cwrRfTemperature,
                        cwrRfSupplyVoltageState,
                        cwrRfStatus,
                        cwrRfControlChannelStatus,
                        cwrBurstSizeGroup,
                        cwrIfTxOscState,
                        cwrIfRxOscState,
                        cwrIfRefOscState,
                        cwrIfResIndex,
                        cwrIfInpFreq,
                        cwrIfOutFreq
                    }
    STATUS          current
    DESCRIPTION
            "Group of objects implemented to tune phy quality in the point to
            point wireless systems.  This group includes cwrBurstSizeGroup."
    ::= { cwrRadioIfGroups 3 }

-- Required Link Metrics Group.
cwrComplianceReqLinkMetrics OBJECT-GROUP
    OBJECTS         {
                        cwrLinkCwESThresh,
                        cwrLinkLowCwDSThresh,
                        cwrLinkHighCwDSThresh,
                        cwrLinkCSESThresh,
                        cwrLink1HrESAlarmThresh,
                        cwrLink1HrSESAlarmThresh,
                        cwrLink1HrCSESAlarmThresh,
                        cwrLink1HrDCMAlarmThresh,
                        cwrLink24HrESAlarmThresh,
                        cwrLink24HrSESAlarmThresh,
                        cwrLink24HrCSESAlarmThresh,
                        cwrLink24HrDCMAlarmThresh,
                        cwrAvailableSeconds,
                        cwrUnAvailableSeconds,
                        cwrSyncLossSeconds,
                        cwrPctErrorFreeSeconds,
                        cwrPctErroredSeconds,
                        cwrPctSeverelyErroredSeconds,
                        cwrPctAvailSeconds,
                        cwrPctCwDegradedMinutes,
                        cwrSyncSuccessCount,
                        cwrSyncFailureCount,
                        cwrManagedSyncLoss,
                        cwrAutomaticSyncLoss,
                        cwrLastSyncSuccessTime,
                        cwrLastSyncFailTime,
                        cwrEffectivePhyDataRate,
                        cwrPctEffectivePhyDataRate,
                        cwr24HrUpdateTime,
                        cwr24HrErrorFreeSeconds,
                        cwr24HrErroredSeconds,
                        cwr24HrSevErroredSeconds,
                        cwr24HrConsecSvErrSeconds,
                        cwr24HrDegradedMinutes,
                        cwr24HrTotalErroredCodewords,
                        cwr24HrTotalCodewords,
                        cwr1HrUpdateTime,
                        cwr1HrErrorFreeSeconds,
                        cwr1HrErroredSeconds,
                        cwr1HrSevErroredSeconds,
                        cwr1HrConsecSvErrSeconds,
                        cwr1HrDegradedMinutes,
                        cwr1HrErroredCodewords,
                        cwr1HrTotalCodewords,
                        cwr1MinUpdateTime,
                        cwr1MinErrorFreeSeconds,
                        cwr1MinErroredSeconds,
                        cwr1MinSevErroredSeconds,
                        cwr1MinConsecSvCwErrSeconds,
                        cwr1MinDegradedSeconds,
                        cwr1MinErroredCodewords,
                        cwr1MinCodewords,
                        cwr1SecUpdateTime,
                        cwr1SecRxCodewords,
                        cwr1SecRSCodewordErrors,
                        cwr1SecArqCodewordErrors,
                        cwr1SecRxRrCount,
                        cwr1SecRxRrEventCount,
                        cwr1SecTxArqCount,
                        cwr1SecTxArqEventCount,
                        cwr1SecCorrectedSyncByteErrs,
                        cwr1SecConsecutiveCwErrs,
                        cwr1SecPostARQGoodCodewords
                    }
    STATUS          current
    DESCRIPTION
            "Required Radio link metrics objects for the point to point wireless
            systems."
    ::= { cwrRadioIfGroups 4 }

-- Required Test Group
cwrComplianceRadioTestGroup OBJECT-GROUP
    OBJECTS         {
                        cwrLocalLoopbackPoint,
                        cwrScopePortOn,
                        cwrScopePortDsp,
                        cwrScopePortAttribute
                    }
    STATUS          current
    DESCRIPTION
            "Group of objects implemented in the point to point wireless
            system for Testing the link."
    ::= { cwrRadioIfGroups 5 }

-- Optional History Gruop
cwrComplianceHistoryGroup OBJECT-GROUP
    OBJECTS         {
                        cwrHistClass,
                        cwrRfResourceId,
                        cwrDspNumber,
                        cwrStartBinValue,
                        cwrBinDelta,
                        cwrNumHistBins,
                        cwrUpdateRate,
                        cwrCollDuration,
                        cwrOwnerId,
                        cwrHistStatus,
                        cwrHistBitShift,
                        cwrHistToneSelection,
                        cwrHistToneValue,
                        cwrHistAction,
                        cwrHistRowStatus,
                        cwrHistPeriodicSum,
                        cwrHistUpdateTime,
                        cwrHistMin,
                        cwrHistMax,
                        cwrHistMean,
                        cwrValue
                    }
    STATUS          current
    DESCRIPTION
            "Group of objects implemented in the point to point wireless
            system for capturing histograms of radio signal parameters on the 
            radio interface."
    ::= { cwrRadioIfGroups 6 }

-- Optional Radio Timeline group.
cwrComplianceRadioTlGroup OBJECT-GROUP
    OBJECTS         {
                        cwrThreshAttribute,
                        cwrThreshType,
                        cwrThreshAntId,
                        cwrThreshValue,
                        cwrThreshHysteresisTime,
                        cwrThreshLimitTime,
                        cwrThreshRowStatus,
                        cwrThreshDspNum,
                        cwrTlClass,
                        cwrTlRfResourceId,
                        cwrTlDspNum,
                        cwrTlNumDataValues,
                        cwrTlDecimationFactor,
                        cwrTlPreSumShift,
                        cwrTlToneSelection,
                        cwrTlToneValue,
                        cwrTlThreshIndex,
                        cwrTlAction,
                        cwrTlStatus,
                        cwrTlPostTrigBufMgmt,
                        cwrTlRowStatus,
                        cwrTlUpdateTime,
                        cwrTlNumValues,
                        cwrTlTriggerLoc,
                        cwrTlValue
                    }
    STATUS          current
    DESCRIPTION
            "Group of objects implemented in the point to point wireless
            system for establishing thresholds and capturing timeline data."
    ::= { cwrRadioIfGroups 7 }

-- Optional Snapshot group
cwrComplianceRadioSnapshotGroup OBJECT-GROUP
    OBJECTS         {
                        cwrSnapshotType,
                        cwrSnapshotAction,
                        cwrSnapshotStatus,
                        cwrSnapshotRowStatus,
                        cwrSnapAttr1Id,
                        cwrSnapAttr1Size,
                        cwrSnapAttr2Id,
                        cwrSnapAttr2Size,
                        cwrSnapAttr3Id,
                        cwrSnapAttr3Size,
                        cwrSnapAttr4Id,
                        cwrSnapAttr4Size,
                        cwrRealPart,
                        cwrImaginaryPart
                    }
    STATUS          current
    DESCRIPTION
            "Group of objects implemented in the point to point wireless
            system for capturing snapshots of various parameters on the radio
            interface."
    ::= { cwrRadioIfGroups 8 }

-- Optional Antenna Group.
cwrComplianceRadioAntennaGroup OBJECT-GROUP
    OBJECTS         {
                        cwrAntennaXDim,
                        cwrAntennaYDim,
                        cwrAntennaType,
                        cwrAntennaDescr,
                        cwrAntennaGain,
                        cwrAntennaPolarization
                    }
    STATUS          current
    DESCRIPTION
            "Group of objects implemented in the point to point wireless
            system for managing the antennas available in the system."
    ::= { cwrRadioIfGroups 9 }

-- Optional Corrected Byte Error Group.
cwrComplianceRadioPhyByteErrGroup OBJECT-GROUP
    OBJECTS         {
                        cwrArq1ByteErrs,
                        cwrArq2ByteErrs,
                        cwrArq3ByteErrs,
                        cwrArq4ByteErrs,
                        cwrArq5ByteErrs,
                        cwrArq6ByteErrs,
                        cwrArq7ByteErrs,
                        cwrArq8ByteErrs,
                        cwrArq9ByteErrs
                    }
    STATUS          current
    DESCRIPTION
            "Group of objects implemented in the point to point wireless
            system for tracking the number of errored bytes that were
            automatically corrected."
    ::= { cwrRadioIfGroups 10 }

cwrComplianceNotifGroup NOTIFICATION-GROUP
    NOTIFICATIONS { cwrTrapConfigMismatch,
                    cwrTrapInitFailure,
                    cwrTrapLinkQuality,
                    cwrTrapLinkSyncLost,
                    cwrTrapLinkSyncAcquired,
                    cwrTrapIfRxOsc,
                    cwrTrapIfTxOsc,
                    cwrTrapIfRefOsc,
                    cwrTrapRfSupplyVoltage,
                    cwrTrapRfRxOsc,
                    cwrTrapRfTxOsc,
                    cwrTrapRfTemp,
                    cwrTrapRfStatusChange,
                    cwrTrapLink1HrThresh,
                    cwrTrapLink24HrThresh,
                    cwrTrapThresh
                   }
    STATUS     current
    DESCRIPTION
            "A group of notifications.  Note that none of these
            notifications were originally defined with an OID 
            having 0 as its next-to-last sub-identifier.  Therefore,
            none of these notifications are reverse-mappable between
            SNMPv1 and SNMPv2/SNMPv3."
        ::= { cwrRadioIfGroups 11 }

END